Android 定位服务在应用处于暂停状态时随机崩溃
Android location services crashes the app randomly when it is in the paused state
我定义了一项服务,该服务 运行 在后台运行,每 5 分钟请求一次位置更新。当应用程序处于暂停状态(即后台 运行s)或我在设备 "Unfortunately google play services has stopped working" 上收到此错误消息时,应用程序会间歇性崩溃。我认为这是因为应用程序正在请求位置更新,即使应用程序已暂停,这是我不想要的。
我已经在这个要点中添加了我的服务,因为它太长了,无法粘贴到这里
https://gist.github.com/anonymous/214f8fe6948314a2d043
你如何建议我确保我的应用程序不会由于这些位置更新而随机崩溃。有什么方法可以在应用程序暂停时暂停位置更新?我在网上看到可能是内存泄漏,大家怎么看?我在 LAUNCHER activity 中启动我的服务,并且该服务应该 运行 在所有其他应该加载的活动中。
在您 activity 的暂停中,像这样删除位置侦听器的位置更新:
@Override
protected void onPause(){
//Toast.makeText(getApplicationContext(), "Onpause", 0).show();
super.onPause();
location_manager.removeUpdates(YourActivity.this);
}
我定义了一项服务,该服务 运行 在后台运行,每 5 分钟请求一次位置更新。当应用程序处于暂停状态(即后台 运行s)或我在设备 "Unfortunately google play services has stopped working" 上收到此错误消息时,应用程序会间歇性崩溃。我认为这是因为应用程序正在请求位置更新,即使应用程序已暂停,这是我不想要的。
我已经在这个要点中添加了我的服务,因为它太长了,无法粘贴到这里
https://gist.github.com/anonymous/214f8fe6948314a2d043
你如何建议我确保我的应用程序不会由于这些位置更新而随机崩溃。有什么方法可以在应用程序暂停时暂停位置更新?我在网上看到可能是内存泄漏,大家怎么看?我在 LAUNCHER activity 中启动我的服务,并且该服务应该 运行 在所有其他应该加载的活动中。
在您 activity 的暂停中,像这样删除位置侦听器的位置更新:
@Override
protected void onPause(){
//Toast.makeText(getApplicationContext(), "Onpause", 0).show();
super.onPause();
location_manager.removeUpdates(YourActivity.this);
}