一、Doze
1.Doze白名單機制與網絡訪問
2.Alarm的wakeup機制
二、包過慮
1.allow TCP
配置如下:gDisablePacketFilter=1
早期包過慮機制
早期高通平臺使用allow TCP的方案;上層接口有手機廠家自己封裝。
一般應用通過數據庫變量直接控制到framework service,而系統框架則通過setCountry方式call到驅動及固件。
2.Android引入包過慮機制
配置如下:gBpfFilterEnable=1
關鍵部分:
frameworks/base/service/net/java/android/net/apf/ApfFilter.java
maybeStartFilter
framework/base/core/java/android/net/NetUtils.java
attachRaFilter
frameworks/base/core/jni/android_net_NetUtils.cpp
setsockopt(fp, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter));
參見如下:
https://blog.csdn.net/ljy1988123/article/details/50444693