我正在下载很多图像和文字(就像facebook的帖子)从服务器。我可以使用嵌套的线性布局而不是列表视图吗?
所以当listview被滚动时,它会在创建循环视图时闪烁。所以我想为我的主线性布局中的每个帖子使用多个线性布局。
在这种情况下,会不会有滚动性能或内存消耗问题?请帮忙?
我正在下载很多图像和文字(就像facebook的帖子)从服务器。我可以使用嵌套的线性布局而不是列表视图吗?
所以当listview被滚动时,它会在创建循环视图时闪烁。所以我想为我的主线性布局中的每个帖子使用多个线性布局。
在这种情况下,会不会有滚动性能或内存消耗问题?请帮忙?
您不应该使用一堆LinearLayouts作为ListView的替代品。
ListViews做一些叫做View Recycling的事情,这样任何时候只有用户可以看到的视图数量才会保存在内存中。其余视图在用户向上/向下滚动时创建并放弃。例如,如果您的屏幕大小一次只能看到10行,则根据具体实现,任何时候只有10-15行ListView将存储在内存中。
如果将您的ListView替换为200 LinearLayouts,那么您将在内存中保存200个ViewGroups。这可能会导致性能下降,或导致应用程序因OutOfMemoryError
而崩溃。
有关ListView性能改进的更多提示,请参阅此great post by Lucas Rocha。
那么肯定会有性能问题由于listview创建并放弃了不重点的列表项,比如只有在屏幕上的那些(比如10个)在内存中,在线性布局中所有200将不得不保留在内存中,这是堆栈而不是堆栈的内存,因此如果应用程序保持运行,并且由于内存不足问题将导致FORCE CLOSE,它会使您的手机受到影响。
你也可以让你的线性布局放弃不重点的项目,但即使经过这么多的努力,它将与列表视图一样,所以我不会建议这样做,而是直接使用列表视图
为什么你不使用异步图像下载机制? –
请发布您的代码.... – dipali
为什么不使用此答案中提到的自定义延迟加载库? http://stackoverflow.com/a/8562313/1979347 –