1 / 7
文档名称:

ListView性能优化之视图缓存.docx

格式:docx   页数:7
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ListView性能优化之视图缓存.docx

上传人:翩仙妙玉 2013/1/13 文件大小:0 KB

下载得到文件列表

ListView性能优化之视图缓存.docx

文档介绍

文档介绍:ListView性能优化之视图缓存
前言
ListView是Android中最常用的控件,通过适配器来进行数据适配然后显示出来,而其性能是个很值得研究的话题。本文与你一起探讨Google I/O提供的优化Adapter方案,欢迎大家交流。
 
正文
一、准备
了解关于Google IO大会关于Adapter的优化,参考以下文章:
Android开发之ListView 适配器(Adapter)优化
Android开发——09Google I/O之让Android UI性能更高效(1)
PDF下载:Google
准备测试代码:
Activity
    private TestAdapter mAdapter;
    private String[] mArrData;
    private TextView mTV;
    ***@Override
    protected void onCreate(Bundle savedInstanceState) {
        (savedInstanceState);
        setContentView();
        mTV = (TextView) findViewById();
        mArrData = new String[1000];
        for (int i = 0; i < 1000; i++) {
            mArrData[i] = "Google IO Adapter" + i;
        }
        mAdapter = new TestAdapter(this, mArrData);
        ((ListView) findViewById()).setAdapter(mAdapter);
    }
代码说明:模拟一千条数据,TestAdapter继承自BaseAdapter,。
 
二、测试
测试方法:手动滑动ListView至position至50然后往回滑动,充分利用convertView不等于null的代码段。
方案一
按照Google I/O介绍的第二种方案,把item子元素分别改为4个和10个,这样效果更佳明显。
测试代码
        private int count = 0;
        private long sum = 0L;
        ***@Override
        public View getView(int position, View convertView, ViewGroup parent) {
            //开始计时
            long startTime = ();
            
            if (convertView == null) {