使用Himedia电视盒Q5 Pro与Android 5.1和Kodi 17.1。
使用屏幕退出按钮(需要几秒钟)而不是关闭Kodi,如果我使用遥控器上的HOME按钮,则更容易找到它。
此HOME按钮退出路径是否会导致Kodi软件问题?
使用HOME按钮欣赏上述程序流程,如果不建议使用HOME路线,为什么?
想在Android上了解更多信息。
非常感谢。
答案 0 :(得分:0)
没问题PLUMBERSO。如果您想了解应用程序的生命周期和Android下的所有内容,我建议您浏览一下Google自己的教程和文档。
https://developer.android.com/develop/index.html
TLDR:不会。除非Kodi的设计非常糟糕,即使只是在某些情况下......如果Kodi有专门的按钮,您可以点击"退出"它可能在退出之前在后台做某事。
话虽如此,Android应用程序通常不应该依赖用户执行一系列特定操作来保存内容。
Android应用有4个主要组件:活动,内容提供商,广播接收器和服务。在所有这些活动中,活动往往是最常见的。与UI本身有关的一切都是由Activity承担的,没有别的东西可以直接触及UI。
https://developer.android.com/guide/components/activities/activity-lifecycle.html记录了Activity生命周期。一个好的Android Activity基本上应该准备好处理最具破坏性的案件;具有讽刺意味的是,这可能发生在电话屏幕旋转这样简单的事情上。这基本上触发了整个生命周期(onPause - > onStop - > onDestroy - > onCreate - > onStart - > onResume)。
(几乎)Android上的所有应用都运行在一个进程(Linux)上。在按下主页按钮时,Android将该进程发送到后台优先级,因此"暂停" Activity的状态(onPause / onStop但不是onDestroy)。在按下时,该特定活动被弹出"离开堆栈,维护用户已浏览的活动列表。没有其他组件具有这样的"堆栈",它们的用法绝对不适用于UI。
内容提供商通常与SQL / NoSQL数据库,广播接收器进行交互,以了解手机状态的变化(应用程序自身广播,或应用程序广播到整个手机,或通过手机广播到所有应用程序等)。不应该在Activity本身上执行的较长时间运行的任务。有大量的设计模式和组合来处理基于密集或基于网络的工作,这有助于将工作从UI线程中分离出来并从活动生命周期中解脱出来(如果在Activity上本身就很烦人)。
将活动弹出"堆栈"摧毁它。按主页按钮不会弹出堆栈;如果您通过点击某个应用程序,转到某个页面,然后回家,然后返回到该应用程序,则应该恢复您所在的屏幕。但是,如果这个人杀死了#34;它通过自Android 4以来的Android手机中的多任务处理选项,然后整个过程结束,整个应用程序因此而死了#34;再次点击应用图标,您会发现该应用会在发布时返回原始屏幕。
因此。如果Kodi需要做一些需要一段时间的事情(例如,与它的接口服务器,在本地存储上保存一些数据等),它应该在其他组件中这样做,并在需要被识别时立即执行。也许它试图通过它的专用退出按钮退出时节省额外的东西,但它应该编程为没有这些步骤就好了。