if (runningApps == null) {
return null;
}
for (RunningAppProcessInfo procInfo : runningApps) {
if (procInfo.pid == pid) {
return procInfo.processName;
}
}
return null;
}
2)针对静态成员的失效:
使用Intent或者aidl等进程通讯方式传递内容,不能用静态或单例模式。
3)针对文件共享问题:
多进程情况下会出现两个进程在同一时刻访问同一个文件的情况。这就可能造成资源的竞争访问,导致诸如损坏、数据丢失等。在多线程的情况下我们有锁机制控制资源的共享,但是在多进程中比较难,虽然有文件锁、排队等机制,但是在Android里很难实现。解决办法就是多进程的时候不并发访问同一个文件,比如子进程涉及到操作,就可以考虑调用主进程进行的操作。
4)针对断点调试问题:
调试就是跟踪程序运行过程中的堆栈信息,由于每个进程都有自己独立的内存空间和各自的堆栈,无法实现在不同的进程间调试。因此要改为同一进程:调试时去掉AndroidManifest.xml中android:process标签,这样保证调试状态下是在同一进程中,堆栈信息是连贯的。待调试完成后,再将标签复原。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-88572-2.html
我有点好奇