当前位置: 代码迷 >> Android >> 我应该针对移动设备优化性能还是内存?
  详细解决方案

我应该针对移动设备优化性能还是内存?

热度:35   发布时间:2023-08-04 09:57:35.0

在构建应用程序(在我的情况下为 Android)时,您应该编写代码来优化性能还是内存?

例如,假设我正在使用 findViewById(int resid) 方法。
为了优化性能,我只需将视图存储到一个实例变量中,这样我就不需要再次调用它。
为了优化内存,我不会存储它,而是在每次需要再次查找该视图时调用此方法。

当然,还有很多其他的例子,但这是一个总体思路:你应该在每次需要的时候调用相同的方法(从而使用更多的处理),还是将它保存到一个变量中(从而使用更多的内存)?

我做哪一个重要吗? 这个比那个好吗? 谢谢!

冒着被否决的风险......

这当然取决于,但是对于您的findViewById示例,您通常应该将结果缓存在成员变量中。 RecyclerView.ViewHolder的文档鼓励这种模型。

但要小心 - 如果您试图在Fragment执行此操作(例如,在onCreateView多次调用findViewById并缓存结果),那么您会出现泄漏(有很多关于此的文章)。 这种情况下的解决方案是在onDestroyView中将这些缓存的引用归零

  相关解决方案