向前台服务生命周期方法添加功能会产生问题吗?这是最佳做法吗?
Adding function to foreground service lifecycle methods can create an issue? Is this best practise?
我创建了一个计时器应用程序。所以它基本上是在计算时间,当服务在 OnDestroy 范围内关闭时,我正在节省时间到房间。这是最好的做法吗?或者有没有在没有用户请求的情况下调用生命周期方法的情况?
onDestroy(){
someBusinessLogic() // I'm saving the time to room here
super.onDestroy()
}
请注意,上述方法不高效/高效。
这种方法正在消耗宝贵的 Android 系统资源,因为当用户导航到另一个应用程序或当用户收到一个 phone 电话。
此应用程序可以运行,但 Android OS 会在需要更多内存时首先终止此应用程序会话。
这将导致不一致的用户体验和 Play 商店的低评价。
这种情况的解决方法是研究并实现Activity Lifecycle回调。
计时器应在 onPause()
被调用后立即停止,而不是在 onDestroy()
上。
请参考上述link并相应地实现所需的回调。
通过这种方式,您将创建一个高性能且内存友好的应用程序。
我创建了一个计时器应用程序。所以它基本上是在计算时间,当服务在 OnDestroy 范围内关闭时,我正在节省时间到房间。这是最好的做法吗?或者有没有在没有用户请求的情况下调用生命周期方法的情况?
onDestroy(){
someBusinessLogic() // I'm saving the time to room here
super.onDestroy()
}
请注意,上述方法不高效/高效。
这种方法正在消耗宝贵的 Android 系统资源,因为当用户导航到另一个应用程序或当用户收到一个 phone 电话。
此应用程序可以运行,但 Android OS 会在需要更多内存时首先终止此应用程序会话。
这将导致不一致的用户体验和 Play 商店的低评价。
这种情况的解决方法是研究并实现Activity Lifecycle回调。
计时器应在 onPause()
被调用后立即停止,而不是在 onDestroy()
上。
请参考上述link并相应地实现所需的回调。 通过这种方式,您将创建一个高性能且内存友好的应用程序。