本文对最近实现Service时遇到的一个小问题做一个记录。
主要以一个简单的demo讨论在bindService时,client和Service分处不同的进程,bindService传入的Flag分别对client进程和service进程的oom_adj值有什么影响。
我写了两个应用,A应用(com.test.serviceadjdemo_client)作为client存在,就一个按钮,点击按钮后调用bindService绑定B应用的一个服务。B应用(com.test.serviceadjdemo_service)也很简单,作为service存在,实现了被绑定的服务。下面看看当bindService传入不同的Flag时两个应用的oom_adj值有什么不同:
BIND_AUTO_CREATE
通过adb shell dumpsys meminfo查看进程的oom_adj:
启动A
20094 kB: Foreground
20094 kB: com.test.serviceadjdemo_client (pid 13687<