ccp*_*zza 6 android android-context
我正在考虑使用android Application类作为存储应用程序中其他(片段)活动共享的临时状态和公共代码的地方.
我想获得更多反馈,以确定它是否适合:
getApplication()不可用的代码,例如通过静态getter MyApp.getApp().在活动课中还有什么适合/有用/方便?什么不是一个好主意,留在它和什么是最好的选择?最后,您发现应用程序最适合您的应用程序使用?
共享常量,例如 ID、首选键名称等。
我通常为此创建一个名为 C 的常量文件,因为它的可读性更好。C.SHARED_PREFS恕我直言,更容易理解Application.SHARED_PREFS。
全局变量(即 setter/getter)反映当前 UI 状态、导航、所选片段以及一般不需要保留的临时数据。
这在它所涉及的 Activity 或组件中会更好(例如,Activity 的 UI 状态可能应该存储在 icicle 包中,或者在 Activity 的该实例中)。
当触发某些条件时用于持久数据的挂钩。
这应该没问题。
首选项更改后更新 UI。
同样,我觉得这在各自的组件中会更好。
提供一种从应用程序中的任何位置访问上下文的简单方法,包括 getApplication() 不可用的代码,例如通过 MyApp.getApp() 等静态 getter。
这可行,但要小心内存泄漏。当从 Activity 或 Service 等调用方法时,您通常应该将上下文作为参数传递。内存泄漏的可能性较小。
需要全局状态变量可见性的常用方法,并且这些方法会变得太麻烦而无法移至专用类。
我觉得最好是专门的课程,因为当你的应用程序的功能和大小增长时,这将变得难以维护。
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |