Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许更快地对Android应用程序进行垃圾收集?_Android_Garbage Collection_Broadcastreceiver - Fatal编程技术网

允许更快地对Android应用程序进行垃圾收集?

允许更快地对Android应用程序进行垃圾收集?,android,garbage-collection,broadcastreceiver,Android,Garbage Collection,Broadcastreceiver,我正在编写一个应用程序,在应用程序打开的整个过程中都会播放音频。我注意到在我的测试阶段,我的电池消耗速度比手机上没有我的应用要快得多。这可能是由于应用程序中的音频文件量(应用程序最终为25-35 mb)或广播接收器仍在注册,并且在不再需要应用程序时占用了一些计算能力 我的问题是(我知道没有通用的“关闭应用程序”方法)如何将整个应用程序放在堆栈的底部,然后进行垃圾收集 谢谢您应该看看Android应用程序的生命周期()-当应用程序进入后台或不再可见时,您应该释放广播接收器等,并在恢复时重新注册它们

我正在编写一个应用程序,在应用程序打开的整个过程中都会播放音频。我注意到在我的测试阶段,我的电池消耗速度比手机上没有我的应用要快得多。这可能是由于应用程序中的音频文件量(应用程序最终为25-35 mb)或广播接收器仍在注册,并且在不再需要应用程序时占用了一些计算能力

我的问题是(我知道没有通用的“关闭应用程序”方法)如何将整个应用程序放在堆栈的底部,然后进行垃圾收集


谢谢

您应该看看Android应用程序的生命周期()-当应用程序进入后台或不再可见时,您应该释放广播接收器等,并在恢复时重新注册它们


如果你的应用程序只有一个活动,你可以调用
finish()
,表示你不再需要它。

我在存储上取消分配侦听器。我这样做是因为我创建了等待屏幕解锁以恢复功能的侦听器(否则我的背景音频将在活动可见并隐藏在锁定屏幕后面之前播放)。这也很棘手,因为我有许多活动可能启动,也可能未启动,并且在堆栈上。我会不会想杀掉这个过程,把它们全部除掉?