开发者社区> 问答> 正文

如何使用Android缓存视图并避免每次调用onCreate

我有一个烦人的问题。

使用Android,我有一个似乎onCreate每次创建一个活动的新实例时都会调用的应用程序,因为该活动是另一个活动的儿子,并且在结束其对一条数据的作用时完成它自己。

onCreate每次调用似乎都是在重新解析XML以创建视图,并重新附加/重新创建代码的侦听器,等等。那么,是否有一种方法可以缓存每次要调用的活动,而如果我们单击移动设备中的“后退”按钮则看不到它?就像是将其真正隐藏(无法使用“后退”按钮访问)并仅在必要时销毁一样。

提前谢谢大家:)

展开
收起
Puppet 2020-01-19 15:52:00 653 0
1 条回答
写回答
取消 提交回答
  • Android将处理最适用的View和Activity缓存,您不必担心。我-强烈警告alexkipar的方法。这是很幼稚的做法,只会降低性能,并导致内存泄漏并消除错误行为。

    如果您觉得创建活动的频率太高,我建议您确保正在正确使用和理解活动的生命周期。与每个系统一样,Android在效率和可重用性之间取得平衡,并且始终需要权衡取舍。

    您提到的一个常见的误解涉及解析XML。用于视图的XML并非存储为纯XML,而是以编译形式存储以提高效率。您不必为此担心,请相信系统正在努力使事情变得尽可能高效。

    2020-01-20 09:01:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载