b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

override Android开发中怎样用多进程、用多进程的好处、多进程的缺陷、解决方法(转)

电脑杂谈  发布时间:2018-02-22 11:26:36  来源:网络整理

什么是override_override帽子价位_override

1.怎样用多进程

Android多进程概念:一般情况下,一个应用程序就是一个进程,这个进程名称就是应用程序包名。我们知道进程是系统分配资源和调度的基本单位,所以每个进程都有自己独立的

资源和内存空间,别的进程是不能任意访问其他进程的内存和资源的。

如何让自己的应用拥有多个进程:

四大组件在AndroidManifest文件中注册的时候,有个属性android:process这里可以指定组件的所处的进程。

默认就是应用的主进程。override指定为别的进程之后,系统在启动这个组件的时候,就先创建(如果还没创建的话)这个进程,然后再创建该组件。打印出它的进程名称:重

载Application类的onCreate方法即可。

设置android:process属性,要注意:如果是android:process=”:deamon”,以:开头的名字,表示这是一个应用程序的私有进程,否则它是一个全局进程。私有进程的进程名称是

会在冒号前自动加上包名,而全局进程则不会。一般我们都是有私有进程,很少使用全局进程。

2.用多进程的好处

好处:

(1)分担主进程的内存压力。

当应用越做越大,内存越来越多,将一些独立的组件放到不同的进程,它就不占用主进程的内存空间了。当然还有其他好处,有心人会发现

(2)使应用常驻后台,防止主进程被杀守护进程,守护进程和主进程之间相互监视,有一方被杀就重新启动它。

Android后台进程里有很多应用是多个进程的,因为它们要常驻后台,特别是即时通讯或者社交应用,不过现在多进程已经被用烂了。

典型用法是在启动一个不可见的轻量级私有进程,在后台收发消息,或者做一些耗时的事情,或者开机启动这个进程,然后做等。

#坏处:消耗用户的电量。

多占用了系统的空间,若所有应用都这样占用,系统内存很容易占满而导致卡顿。

应用程序架构会变得复杂,因为要处理多进程之间的通信。这里又是另外一个问题了。

3.多进程的缺陷

什么是override_override帽子价位_override

进程间的内存空间是不可见的。开启多进程后,会引发以下问题:

1)Application的多次重建。

2)静态成员的失效。

3)文件共享问题。

4)断点调试问题。override

4.解决方法

1)针对Application的多次重建:

在Application的onCreate中获取进程Id来判断不同进程,然后做不同的事情。

public class MyApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

//获取进程Id

int pid = android.os.Process.myPid();

Log.e("m_tag", "MyApplication onCreate pid is " + pid); //根据进程id获取进程名称

String pName = getProcessName(this,pid);

if("com.xyy.processtest".equals(pName)){

//处理该进程的业务

}

}

override帽子价位_什么是override_override

}

public String getProcessName(Context cxt, int pid) {

ActivityManager am = (ActivityManager)

cxt.getSystemService(Context.ACTIVITY_SERVICE);

List<RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-88572-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...