在我的应用程序中,我有一个包含许多图像(约 100 张)的 GridView,布局与此类似:
我正在 HTC Desire HD 上测试我的应用程序。当我在 gridview 中有 88 个图像时,滚动很流畅。现在,如果我添加 10 张图像,那么我总共有 98 张,就再也没有任何接近平滑滚动的东西了——它现在“慢”了,更粗糙了,就像是大块地滚动。
此 gridview 存在于 TabLayout 中,其中我还有一个包含许多元素的 ListView。在 gridview 中使用 98 个图像时,此 ListView 中的滚动也会受到影响。所以就好像整个应用程序以某种方式变慢了(或者使用了手机无法管理的更多“电量”)。
有什么方法可以优化 gridview,使其不那么耗电?
(PS:当使用大约 150 张图像时,应用程序只是停止工作(它断开连接,并且日志/调试中没有显示错误)。)
最佳答案
确保您在适配器的 getView() 方法中回收图像。像这样:
public View getView(int position, View convertView, ViewGroup parent) {
// if it's not recycled, initialize some attributes
if (convertView == null) {
convertView = new View(...);
}
...
而不是每次调用 getView() 时都创建新 View 。
关于android - 带有许多图像的 GridView 导致滚动缓慢/粗糙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6928965/