android:processの最大のピット
2415 ワード
http://androidren.com/index.php?qa=361&qa_1=android-process%E 7%9 A%E 6%E 6%9 C%80%E 5%A 4%A 7%E 7%9 A%84%E 5%9 D%91
新しいプロセスごとに、AppleのonCreateが呼び出されます. これは多くの人がAppleのonCreateに対する理解を覆している.普通の人は一度しか歩けないと思います.
したがって、ApplicationのonCreateには初期化作業があり、プロセスによって区別される必要があります.
解決方法:
ApplicationのonCreateでプロセス名を取得し、対応する判定を行います.例えば、
prvate static String get Process Name(Contect context){
新しいプロセスごとに、AppleのonCreateが呼び出されます. これは多くの人がAppleのonCreateに対する理解を覆している.普通の人は一度しか歩けないと思います.
したがって、ApplicationのonCreateには初期化作業があり、プロセスによって区別される必要があります.
解決方法:
ApplicationのonCreateでプロセス名を取得し、対応する判定を行います.例えば、
prvate static String get Process Name(Contect context){
try {
int pid = android.os.Process.myPid();
ActivityManager mActivityManager = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo appProcess : mActivityManager
.getRunningAppProcesses()) {
if (appProcess.pid == pid) {
return appProcess.processName;
}
}
} catch (Throwable e) {
}
return "";
}
String processName = getProcessName(this, android.os.Process.myPid());
if (!TextUtils.isEmpty(processName) && processName.equals(this.getPackageName())) {// ,
//
} else {
// 。
return;
}