在很多移动应用中,特别是即时通信类项目中,保活是一个永远无法避免的一个话题。保活,按照我的理解,主要包含两部分:
网络连接保活:如何保证消息接收实时性。
进程保活:尽量保证应用的进程不被Android系统回收。
在很早以前,谈Android的保活都会涉及到进程常驻内存,如何进行性能优化等话题,今天就这些话题,做一个简单的总结。
Android进程
在讨论这个问题之前,我们首先来看一些现象级APP的进程。
搞Android的同学都知道,每一个Android应用启动后至少对应一个进程,有的则有多个进程,大多数主流APP都会包含多个进程,因为除了主要的进程之外,还有诸如长连接、推送等进程。
查看进程
对于任何一个进程,我们都可以通过adb shell ps|grep <package_name>的方式来查看。具体方式如下:
上图的具体含义如下:
值 | 解释 |
---|---|
u0_a16 | USER 进程当前用户 |
3881 | 进程ID< |