在构建应用程序时(在我的情况下是Android),您应该编码以优化性能还是内存?
例如,假设我使用的方法是findViewById(int resid) 为了优化性能,我只是将视图存储到实例变量中,这样我就不需要再次调用它了 为了优化内存,我不会存储它,但每次我需要再次找到该视图时调用此方法。
当然,还有很多其他的例子,但这是一般的想法:你应该在每次需要时调用相同的方法(从而使用更多的处理),或者将它保存到变量(从而使用更多的内存) ?
我做哪一件都很重要?这个比那个好吗?谢谢!
答案 0 :(得分:0)
冒着被投票的风险......
这一切当然都取决于,但对于findViewById
的示例,您通常应该将结果缓存在成员变量中。 RecyclerView.ViewHolder
的文档鼓励这种模式。
但请注意 - 如果您尝试在Fragment
中执行此操作(例如,在onCreateView
多次调用findViewById
并且缓存结果),那么您将会泄漏(有关于此的各种文章)。在这种情况下,解决方案是在onDestroyView