我阅读了这篇很棒的博客文章Android 架构教程:使用后台服务开发应用程序(使用 IPC)
作者展示了在单独进程中以固定间隔运行的推文检索服务。
该服务将无限运行。我意识到停止该过程,去管理应用程序并明确停止服务是唯一的方法。
请注意,这不是一种对电池非常友好的方式。甚至作者声称自己。
是的,Android 后台服务也有一个阴暗面——太多的服务在后台做太多的事情会减慢手机的速度并消耗电池。然而,这并不是我想在这篇文章中提出的内容,所以也许我们会在另一篇文章中回到资源管理礼仪。
但是,作者不再更新他的博客。
我尝试通过TweetViewActivity
.
@Override
protected void onDestroy() {
super.onDestroy();
try {
api.removeListener(collectorListener);
unbindService(serviceConnection);
} catch (Throwable t) {
// catch any issues, typical for destroy routines
// even if we failed to destroy something, we need to continue destroying
Log.w(TAG, "Failed to unbind from the service", t);
}
// New code added by Cheok. Not working. Not sure why.
this.stopService(intent);
Log.i(TAG, "Activity destroyed");
}
但这不起作用。我可以看到服务仍在运行。我可以知道,一旦我退出,停止 IPC 服务的正确方法是Activity
什么?对于上述示例,什么是好的节电策略?