【发布时间】:2018-01-06 19:10:46
【问题描述】:
我的应用程序类代码:
import android.app.Application;
import android.os.Process;
import com.squareup.leakcanary.LeakCanary;
public class SampleApplication extends Application {
public SampleApplication() {
super();
}
@Override
public void onCreate() {
super.onCreate();
//noinspection ConstantConditions
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.
return;
}
LeakCanary.install(this);
// Normal app init code...
}
@Override
public void onTerminate() {
System.exit(0);
Process.killProcess(Process.myPid());
super.onTerminate();
}
}
Android Studio 3.1 Canary 7 --> 分析 --> 检查代码 --> 确定:
声明访问可以是较弱的检查
1 警告:SampleApplication 可以是包私有的
Application 类可以是包私有还是 lint 错误?
【问题讨论】:
-
是的,可以包私有
-
@UdeshUK, Application:“当您的应用程序/包的进程为创建”。这是否意味着Application类必须是公共的?
-
正如 Alex 引用的,来自 Java 文档 - “可以使用修饰符 public 声明一个类,在这种情况下,该类对所有类都可见。如果一个类没有修饰符(默认值,也称为包私有),它只在自己的包中可见”
标签: java android android-studio android-studio-3.1