我正在制作定制的AOSP ROM。所以,我修改了一些系统类并创建了新类。我的问题是定义 Singleton类。使用这种模式,我们可以为每个请求创建一个对象,我们可以吗?但不知何故,当我构建aosp时,我会看到为每个Android应用程序生成多个相同的类。
public final Singleton{
private static Singleton singleton;
private int peakValue = -1;
private Singleton(){}
public static Singleton getInstance(){
if(singleton == null)
singleton = new Singleton();
return singleton;
}
public int getPeakValue(){
return getInstance().peakValue;
}
public void setPeakValue(int val){
getInstance().peakValue = val;
}
}
在logcat,
........ApplicationName1 : .......Singleton@1000abafe1
........ApplicationName2 : .......Singleton@1000abafee
所以,当我打电话给Singleton.getInstance().getPeakValue();
时,它会返回null
,即使我已经设定了值。
任何人都可以帮助我吗? 我如何定义单身人士?
答案 0 :(得分:2)
创建一个包含单例并绑定到它的服务。那么一次只会有一个服务实例。
每个应用程序都有自己的JVM,这就是您的方法不起作用的原因。