Android优化 最常见的就是ListView, Gallery, GridView, ViewPager 的大数据优化  图片优化  访问网络的优化
优化的原则:
数据延迟加载  分批加载  本地缓存
数据优化
  1).复用contentview  
 
               2).创建static class ViewHolder
                 3).分批加载
滑动监听 或者按钮  显示更多数据  往下拖动 显示

图片优化
 1).异步加载  
 
      2).本地缓存(二级缓存  内存(软引用实现),sd卡)  
 
              3).快速滑动时不显示图片
 
              4).分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池

异步加载
 AsynTask android 封装好的异步数据获取,包括三个方法
 
             doInBackground 执行在子线程中的异步方法
 
             onProgressUpdate 数据获取之后 执行的方法,在主线程中可以在这里更新UI界面
 
             onPostExecute   异步方法执行前,可以进行界面友好提示 在主线程中执行的方法
 
             也可以自己封装一个任务类(子线程)thread   采用线程池
这里需要自己维护一个任务列表,并且做到任务的优先级

对Adapter 优化的代码:

    1. public class HolderAdapter<E> extends AbstractAdapter<E> {
    2. public HolderAdapter(LayoutInflater inflater, ViewCreator<E> creator) {
    3. super(inflater, creator);
    4. }
    5. private static class ViewHolder{
    6. public View view;
    7. }
    8. @Override
    9. public View getView(int position, View convertView, ViewGroup parent) {
    10. // Holder View模式实现
    11. if (convertView == null) {
    12. ViewHolder holder = new ViewHolder();
    13. convertView = mCreator.createView(mInflater, position,getItem(position));
    14. holder.view = convertView;
    15. convertView.setTag(holder);
    16. } else {
    17. ViewHolder holder = (ViewHolder) convertView.getTag();
    18. //释放当前的View的数据
    19. mCreator.releaseView(convertView,  getItem(position));
    20. //将新数据更新到HodlerView中
    21. mCreator.updateView(holder.view, position, getItem(position));
    22. }
    23. return convertView;
    24. }
    25. }

Android, BaseAdapter 处理大数据量时的优化的更多相关文章

  1. 大数据量时Mysql的优化

    (转自网络) 如今随着互联网的发展,数据的量级也是撑指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求.这个时候NoSQL的出现暂时 ...

  2. sql大数据量查询的优化技巧

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

  3. MySQL大数据量分页性能优化

    mysql大数据量使用limit分页,随着页码的增大,查询效率越低下. 测试实验 1.   直接用limit start, count分页语句, 也是我程序中用的方法: select * from p ...

  4. 任何抛开业务谈大数据量的sql优化都是瞎扯

    周三去某在线旅游公司面试.被问到了一个关于数据量大的优化问题.问题是:一个主外键关联表,主表有一百万数据,外键关联表有一千万的数据,要求做一个连接. 本人接触过单表数据量最大的就是将近两亿行历史数据( ...

  5. 大数据量时 Mysql LIMIT如何正确对其进行优化(转载)

    以下的文章主要是对Mysql LIMIT简单介绍,我们大家都知道LIMIT子句一般是用来限制SELECT语句返回的实际行数.LIMIT取1个或是2个数字参数,如果给定的是2个参数,第一个指定要返回的第 ...

  6. 【原创】大数据量时生成DataFrame避免使用效率低的append方法

      转载请注明出处:https://www.cnblogs.com/oceanicstar/p/10900332.html      ★append方法可以很方便地拼接两个DataFrame df1. ...

  7. mysql大数据量之limit优化

    背景:当数据库里面的数据达到几百万条上千万条的时候,如果要分页的时候(不过一般分页不会有这么多),如果业务要求这么做那我们需要如何解决呢?我用的本地一个自己生产的一张表有五百多万的表,来进行测试,表名 ...

  8. .net WebService 大数据量时性能的提高

    1.直接返回DataSet对象 [WebMethod(Description = "直接返回DataSet对象")] public DataSet GetUserListDateS ...

  9. Kendo UI中TreeView 放入tabstrip中,大数据量时超过边框的解决方案。

    参考http://www.kendoui.com/forums/ui/tabstrip/tabstip-with-treeview-treeview-breaking-out-of-tabstrip. ...

随机推荐

  1. js 时间

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  2. LeetCode OJ 118. Pascal's Triangle

    Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...

  3. OpenCV——运用于pixels war游戏

    // The "Square Detector" program. // It loads several images sequentially and tries to fin ...

  4. python2.6.6在centos6.4下安装

    1.wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2 2. tar xvjf Python-2.6.6.tar.bz2 ...

  5. minicom 不能输入

    minicom -s  进入设置界面 在 Serial port setup 中设置 硬件控制流为NO F - Hardware Flow Control : No 就OK了

  6. make TARGET_PRODUCT=am335xevm OMAPES=4.x rowboat_clean 出现sgx相关的错误

    这些错误是一些链接错误,由于地址变更导致的软链接不对.所以只要更改下软链接的具体地址就可以.

  7. docker certificates

    x509: certificate is valid for mmtrkjy.com, *.mmtrkjy.com, *.mmtrkmc.com, *.mmtrkpd.com, *.mmtrksg.c ...

  8. Phonegap解决错误:Error initializing Cordova:Class not found

    Phonegap  解决错误: Alert [ERROR]Error initializing Cordova:Class not found 发现bug后找原因   网上说是  因为找不到     ...

  9. spring XML格式

    使用spring遇见一个很坑的问题,在XML中 这样配置: <method name="newSoapParam2" parameters="java.lang.S ...

  10. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named '__frch_lableId_0' in 'class com.cd.entity.Page'

    #号改为$即可