为了生成通知,我需要知道如何在程序中编写低电量和低内存的中断。请问是否有人能提供建议?我已经了解了Intent。
触发onTrimMemory
回调的方法:
adb shell am send-trim-memory <process-name> <level>
例如:adb shell am send-trim-memory com.example.app MODERATE
RUNNING_CRITICAL
来获得完整的效果。 - IgorGanapolsky使用设备开发人员选项下的后台进程限制
也可以模拟低内存。
转到设置 > 开发者选项
。 在应用程序
部分中,将后台进程限制
更改为无后台进程
现在每次切换到另一个应用程序时,您的活动将被终止。 用于测试状态保存和状态恢复。
是的,这个API会触发与注册到 ComponentCallback2 上的上下文相同的回调,具体地说是 ComponentCallback2#onTrimMemory。由于这里没有提到,所以我想要说清楚。该命令的语法如下:
am send-trim-memory [--user <USER_ID>] <PROCESS> [HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]
注意:该命令仅适用于运行 Marshmallow 及以上版本的设备。
power
命令来设置电源状态。要模拟低电量警告,请按Frank的回答方式尝试使用此命令:
power capacity 10 // It will set the battery level into 10%
对于内存较低的情况:
ulimit -Sv 15000 //The current memory limit will set to 15000 Kb
adb shell ulimit -Sv 15000
运行它。 - CalvinChe您可以使用模拟器菜单。只需telnet到模拟器的本地主机(默认端口为5554),然后键入help。按照那里的说明操作即可!
为触发内存修剪事件,可以使用一个填充设备所有RAM并触发该事件的应用程序。
在Play商店上有许多这样的应用程序,可以通过搜索“填充RAM”来找到它们。
onTrimMemory(int level)
方法以处理内存事件。 - IgorGanapolsky