返回 登录
0

android使用百度地图出现的有关进程多次启动的问题

Android Studio开发,使用百度地图会看到有多个进程启动

  1. 问题描述
    百度地图有自己默认的进程名字,通常我们会添加到自己的清单文件中,百度地图默认的进程名字是 android:process=”:remote”
    当我们测试的时候就会发现studio下面的Android Monitors会启动多个一样名字的进程,这样在我们使用app的时候就会发生一些不可预知的错误(比如我做的登录,当时由于这个进程的问题,登录老是失败).百度进程名如图:
    图片描述
  2. 解决办法
    在我们重写的Application中过滤一下这个进程String pname =getProcessName(getApplicationContext());
    if (pname.lastIndexOf(“remote”) > 0) { return; }
    下面是getProcessName这个方法
    public static String getProcessName(Context context) {
        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;
            }
        }
        return null;
    }
  1. 小结
    上面这个问题有时候对于我们的开发也许没有影响,但是小伙伴们还是最好注意一下,将来成为一个资深程序员的你,开发的一些细节还是必须要有的…
评论