我有一个单身班,看起来像这样,
public class MyHomeFactory {
public static final String TAG = "sddsd";
private static MyHomeFactory myHomeFactory = null;
private MyHomeFactory() {
Log.i(TAG, "Inside my home factory");
}
public static MyHomeFactory getInstance() {
if(myHomeFactory == null) {
myHomeFactory = new MyHomeFactory();
}
return myHomeFactory;
}
}
我在调用我的家庭工厂。getInstance()在我的应用程序类和我的服务类(在不同的进程下运行)中类似这样的内容,
public class CornetApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "The value of instance is : " + MyHomeFactory.getInstance());
}
}
从内部服务来看
onBind
喜欢
@Override
public IBinder onBind(Intent intent) {
return new IMyAidlInterface.Stub() {
@Override
public void printTime(long time) throws RemoteException {
Log.i(TAG, "Instance value is : " + MyHomeFactory.getInstance());
}
};
}
AndroidManifest中的服务声明如下所示,
<service
android:name=".OnDisConnectedService"
android:enabled="true"
android:exported="true"
android:process=":separate_process"/>
令我惊讶的是,实例值都是这样打印的,
通用域名格式。实例大约。MyHomeFactory@63b959e
代替
getInstance()
.进程之间如何共享此实例?我在这里感到困惑。