baseApplication如何防止多次重建

2025-07-22 18:17:24

1、在Android Studio中新建MyService组件,它继承自Service类,需要它在其他进程中运行

baseApplication如何防止多次重建

2、接着在AndroidManifest.xml文件中添加MyService注册信息同时将android:process属性设置为:remote或其他进程名

baseApplication如何防止多次重建

3、在主界面中添加启动新服务的按钮,点击处理程序中负责启动MyService服务在新进程里启动

baseApplication如何防止多次重建

4、创建新的MyApplication类继承自Application类型,覆盖该类的onCreate()方法,同时初始化当前进程的进程名和进程id

baseApplication如何防止多次重建

5、Android的ActivityManager中会保存已经启动的应用信息,通过对比当前应用的进程id和启动应用的进程id获取到当前进程信息,得到当前进程名。如果当前进程名与包名相同代表此进程时主进程,需要执行初始化动作,对其他启动的进程就不再需要执行初始化工作

baseApplication如何防止多次重建

6、将前面的自定义MyApplication注册为当前应用的android:name属性中,启动应用进程时会执行MyApplication里的声明周期函数

baseApplication如何防止多次重建

7、将上面的测试应用运行到Android手机上,可以看到先打印的是主进程和初始化任务执行,接着点击主界面的启动服务,可以看到服务所在的进程没有执行初始化动作

baseApplication如何防止多次重建
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢