application初始化多次的解决方案

首先application中的oncreate方法是可以执行多次的,每新开一个进程(不是线程),就会重新执行一遍oncreate方法。
直接上解决方案,有时间的自己去查原理...

   @Override
public void onCreate() {
    super.onCreate();
    //多线程防止多次初始化
    if (!getProcessName().equals(BuildConfig.APPLICATION_ID)) {
        return;
    }
    //写其他逻辑...
    
}
private String getProcessName() {
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    if (am == null) {
        return "";
    }
    List<ActivityManager.RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();
    if (runningApps == null) {
        return "";
    }
    for (ActivityManager.RunningAppProcessInfo proInfo : runningApps) {
        if (proInfo.pid == android.os.Process.myPid()) {
            if (proInfo.processName != null) {
                return proInfo.processName;
            }
        }
    }
    return "";
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 13,567评论 2 59
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,378评论 25 709
  • 面试必背 会舍弃、总结概括——根据我这些年面试和看面试题搜集过来的知识点汇总而来 建议根据我的写的面试应对思路中的...
    luoyangzk阅读 7,136评论 6 173
  • 近日到天河参观学习,听课《黄河颂》。本非语文专业,但按学校“有观必议”、“一优三建议”(1+3)的要求,做了议课。...
    南国微语阅读 550评论 0 0
  • 用光影挽留年,定格一段段时光,让照片忆过往。
    记录生活呀阅读 226评论 0 0

友情链接更多精彩内容