gpt4 book ai didi

android - Activity 中的静态成员 View - Android

转载 作者:行者123 更新时间:2023-12-02 20:41:27 25 4
gpt4 key购买 nike

在我的应用程序中的每个 Activity 中,所有 View (网格/列表/按钮...很多)都被声明为 Activity 的静态成员。这是好的做法还是有更好的方法。一个月来一直在想这个问题,最后决定问。任何帮助表示赞赏!

最佳答案

http://developer.android.com/training/articles/perf-tips.html 。检查文档以了解何时使用静态变量。

我同意博迪的评论。为什么你需要你的 ui 元素是静态的。

不建议使用静态变量。静态变量存储在堆的 PermGen 部分中。即使类完成它的工作,静态变量仍保留在堆中。垃圾收集器进行标记和清除。如果第一个 Activity 中有一个在第二个 Activity 中引用的静态变量,则链接会保持很长的时间。如果您使用更多静态变量,则可能会出现内存泄漏。还要减少使用不必要的元素。

静态变量由 ClassLoader 引用的 Class 对象引用 - 因此,除非 ClassLoader 以某种方式删除 Class 或者 ClassLoader 本身符合垃圾回收条件,否则静态变量将不会被垃圾回收。因此,如果您使用在许多类中引用的静态变量,那么这些类以及声明静态变量的类就不能被垃圾回收,除非这些类可用于垃圾回收。所以这会导致堆内存扩展导致内存泄漏。

在此视频中,该人讨论了为什么不应使用静态变量以及如何避免内存泄漏。 http://www.youtube.com/watch?v=_CruQY55HOk 。该人谈论使用 MAT 分析器来检查内存泄漏。

另请查看此链接。 http://developer.android.com/guide/faq/framework.html.Have查看标题“*如何在单个应用程序内的 Activity/服务之间传递数据?”下的详细信息?

关于android - Activity 中的静态成员 View - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15614130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com