`

android优化——adapter

 
阅读更多

 

什么是Adapter,可以先看看我的上一篇文章,Android开发——说说Adapter那点事 Adapter与View的连接主要依靠getView这个方法返回我们需要的自定义view。ListView是Android app中一个最最最常用的控件了,所以如何让ListView流畅运行,获取良好的用户体验是非常重要的。对ListView优化就是对Adapter中的getView方法进行优化。09年的Google IO大会给出的优化建议如下:

Adapter优化示例代码:

 

@Override
   public View getView(int position, View convertView, ViewGroup parent) {
       Log.d("MyAdapter", "Position:" + position + "---"
               + String.valueOf(System.currentTimeMillis()));
       ViewHolder holder;
       if (convertView == null) {
           final LayoutInflater inflater = (LayoutInflater) mContext
                   .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
          convertView = inflater.inflate(R.layout.list_item_icon_text, null);
          holder = new ViewHolder();
          holder.icon = (ImageView) convertView.findViewById(R.id.icon);
          holder.text = (TextView) convertView.findViewById(R.id.text);
          convertView.setTag(holder);
      } else {
          holder = (ViewHolder) convertView.getTag();
      }
      holder.icon.setImageResource(R.drawable.icon);
      holder.text.setText(mData[position]);
       return convertView;
  }
   
  static class ViewHolder {
      ImageView icon;
   
      TextView text;
  }

 以上是Google io大会上给出的优化建议,经过尝试ListView确实流畅了许多。

 

转至:http://www.cnblogs.com/halzhang/archive/2010/12/05/1896791.html

分享到:
评论

相关推荐

    安卓Android源码——android相册系统(用Matrix实现).zip

    这个压缩包文件"安卓Android源码——android相册系统(用Matrix实现).zip"包含了一个使用Matrix类来实现的相册系统源码。Matrix是Android图形库中的一个关键类,它允许开发者对图像进行平移、旋转、缩放等变换操作。...

    安卓Android源码——android相册系统(用Matrix实现).rar

    这个压缩包“安卓Android源码——android相册系统(用Matrix实现).rar”显然提供了一个使用Matrix类来实现相册功能的示例代码。Matrix是Android SDK中的一个关键类,用于进行2D图像变换,如旋转、缩放、平移等。接...

    AndroidStudio————实战演练——仿美团外卖菜单

    在本项目中,"AndroidStudio————实战演练——仿美团外卖菜单"是一个专注于使用Android Studio开发的应用程序实战案例,目标是创建一个类似于美团外卖的菜单功能。这个项目涵盖了多个Android开发的关键知识点,...

    Android源码——WordPress for Android.zip

    WordPress for Android的源码会展示如何利用RecyclerView、Adapter等组件来构建可滚动的列表,如何使用Fragment进行屏幕分片,以及如何自定义视图以实现独特的设计效果。 4. 异步处理:Android应用中,后台任务的...

    Android源码——新浪微博Android客户端.7z

    1. **UI设计与布局管理**:Android客户端的界面设计采用了XML布局文件,结合自定义View和Adapter,实现动态加载和展示信息流。我们可以从中学习到如何构建灵活且响应迅速的用户界面,以及如何优化性能,减少内存消耗...

    Android源码——listView学习源码.zip

    本资源"Android源码——listView学习源码.zip"包含了对ListView工作原理的详细解析,以及可能的实践代码示例。 ListView的核心功能在于它可以动态加载和回收视图,以优化内存使用。当用户滚动列表时,ListView会...

    安卓Android源码——SampleSyncAdapter.rar

    《安卓Android源码——SampleSyncAdapter深度解析》 在安卓Android开发中,数据同步是至关重要的环节,尤其在移动设备上,同步应用的数据与服务器保持一致,为用户提供最新的信息和服务。SampleSyncAdapter就是一个...

    Android源码——高仿人人Android梦想版终极源码.zip

    《深入剖析Android源码——高仿人人Android梦想版终极实现》 在移动互联网时代,Android作为全球最受欢迎的智能手机操作系统之一,其源码的探索与学习对于开发者来说具有极高的价值。"Android源码——高仿人人...

    安卓Android源码——刮刮乐开奖.rar

    在Android开发中,源码分析有助于理解应用程序的工作原理,学习和优化代码结构,以及为开发者提供自定义功能或扩展已有应用的参考。 【描述】"安卓Android源码——刮刮乐开奖.rar"的描述简洁明了,暗示这个项目可能...

    安卓Android源码——StickyGridView.zip

    总的来说,`安卓Android源码——StickyGridView.zip`是一个学习和实践Android自定义视图、第三方库集成以及UI优化的好资源。通过深入研究这些源码,开发者不仅能提升自己的编程技能,还能更好地理解和利用Android...

    安卓Android源码——Launcher2.rar

    总之,研究`安卓Android源码——Launcher2`能够帮助开发者深入理解Android系统的桌面逻辑和交互机制,提升APP开发和系统优化的能力。通过分析源码,我们可以学习到Android的UI设计、数据存储、事件处理、动画实现等...

    安卓Android源码——多种控件的Demo.zip

    《安卓Android源码——多种控件的Demo》 在安卓应用开发中,理解并熟练运用各种控件是至关重要的。这份"安卓Android源码——多种控件的Demo"提供了丰富的实例,帮助开发者深入理解Android UI组件的使用。下面将详细...

    安卓Android源码——listView1.rar

    在安卓开发中,ListView是应用...以上是关于“安卓Android源码——listView1.rar”可能涉及的关键知识点,这份源码很可能会包含这些功能的实现,通过学习和分析这个项目,开发者可以深入理解ListView的使用和优化技巧。

    安卓Android源码——gridview分页效果.zip

    "安卓Android源码——gridview分页效果.zip"这个压缩包可能包含了一个实现GridView分页效果的示例项目。HorizontalGridView是GridView的一个扩展,它使得数据可以横向滚动,提供了更丰富的界面展示方式。 首先,...

    安卓Android源码——Apollo播放器.zip

    Apollo的播放界面设计遵循了Material Design指南,使用了RecyclerView来展示歌曲列表,通过Adapter和ViewHolder模式优化性能。在播放控制上,它使用BroadcastReceiver监听系统广播事件,如耳机插拔、来电等,以便...

    安卓Android源码——文件管理器源码.zip

    这涉及到Android的`RecyclerView`、`Adapter`和`ViewHolder`模式,以及自定义布局的设计。 5. **权限管理**:Android 6.0及以上版本引入了运行时权限,文件管理器需要获取读写存储的权限才能正常工作。 6. **异步...

    安卓Android源码——WordPress for Android.zip

    14. **性能优化**:包括内存管理、渲染优化、启动速度提升等方面,使用Android Profiler工具进行性能分析。 15. **安全实践**:包括加密通信、数据安全、权限控制和防止逆向工程。 以上只是对WordPress for ...

    Android 2048——课设简单版

    【Android 2048——课设简单版】 在Android平台上开发一款2048游戏,是学习Android Studio和移动应用开发的一个经典实践项目。2048是一款基于数字的益智游戏,由Gabriele Cirulli在2014年推出,玩家通过滑动屏幕...

    安卓Android源码——MonitorPhone.rar

    《安卓Android源码——MonitorPhone详解》 在深入探讨安卓Android源码——MonitorPhone之前,首先需要理解Android系统的基本架构。Android是一个开源的操作系统,基于Linux内核,为移动设备如智能手机和平板电脑...

Global site tag (gtag.js) - Google Analytics