史上最强Android保活思路:深入剖析腾讯TIM的进程永生技术(12)

2023-04-30 来源:飞速影视
再从其中的截取核心片段:
25159 25159 I Watermelon: BpActivityManager init25119 25144 D Watermelon: start try to lock file>> /data/user/0/com.tencent.tim/app_indicators/indicator_d225119 25144 D Watermelon: lock filesuccess >> /data/user/0/com.tencent.tim/app_indicators/indicator_d2
不难看出:
1)TIM自身通过向servicemanager查询来获取AMS的代理BpActivityManager, 然后自己去写startService通信过程的数据;2)TIM通过两个进程通过flock来相互监听对方进程存活状态;3)监听的文件有比如:/data/user/0/com.tencent.tim/app_indicators/indicator_d2。6.5 indicator文件
进一步查看TIM所监听的路径下/data/user/0/com.tencent.tim/app_indicators/, 发现有4个监听文件:

史上最强Android保活思路:深入剖析腾讯TIM的进程永生技术


问题4:为何需要4个indicator文件?
进一步延伸:通过查看flock,再次发现新大陆,原来除了Daemon和MSF进程各有一个监听文件的线程, 还有两个由init进程作为父进程的app_d进程也监听文件:
gityuan@13203:~/gityuan$ adb shell ps-t | grep-i flocku0_a146 10668 10649 1143304 85876 flock_lock 00f6e1e3d8 S Thread-85u0_a146 10712 10669 1158552 89664 flock_lock 00f6e1e3d8 S Thread-89u0_a146 10687 1 12768 564 flock_lock 00f73113d8 S app_du0_a146 10717 1 12768 560 flock_lock 00f74353d8 S app_d
相关影视
合作伙伴
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)

www.fs94.org-飞速影视 粤ICP备74369512号