-
// 获取纳秒时间 更加精确 long start = System.nanoTime(); // 由于我们只需要将XML转化为View,并不涉及到具体的布局,所以第二个参数通常设置为null View view = mLayoutInflater.inflate(R.layout.item, null); // 实例化控件 ImageView itemImage = (ImageView) view.findViewById(R.id.iv_image); TextView itemTitle = (TextView) view.findViewById(R.id.tv_title); TextView itemContent = (TextView) view.findViewById(R.id.tv_content); // 取出bean对象 ItemBean bean = mDataList.get(position); // 设置控件的数据 itemImage.setImageResource(bean.itemImageResid); itemTitle.setText(bean.itemTitle); itemContent.setText(bean.itemContent); long end = System.nanoTime(); long dValue = end - start; mSumTime += dValue; // 输出每次getView消耗的时间和 Log.d("xys", String.valueOf(mSumTime)); return view;查看全部
-
文艺式查看全部
-
普通式查看全部
-
逗比式查看全部
-
BaseAdapter优化总结笔记查看全部
-
每次findViewById会浪费查看全部
-
没有利用到ListView的缓存机制,造成浪费查看全部
-
BaseAdapter适配器的思路查看全部
-
ListView的缓存机制,需要时才显示,显示完就被回收到缓存查看全部
-
ViewHolder优化BaseAdapter 1.创建bean对象,用于封装数据 2.在构造方法中初始化用于映射的数据源list 3.创建ViewHolder类,创建布局映射关系 4.判断convertView,为空则创建,并设置tag,否则通过tag来取出ViewHolder 5.给ViewHolder中的控件设置数据查看全部
-
对于一些细微的程序比较效率用获取系统纳秒时间方法 关键代码: long start =System.nanoTime(); ... long end =System.nanoTime(); long dValue=end-start; viewholder 作为findviewbyid的一个转接,避免系统大量的遍历提高效率。查看全部
-
文艺式查看全部
-
BaseAdapter文艺式查看全部
-
BaseAdapter文艺式 1、ViewHolder:getView()方法是利用了ViewHolder类,优化了inflate()和findViewById()的耗时操作。 (1)创建一个ViewHolder对象,通过ViewHolder对象,就将这些通过findViewById()找到的组件对象保存到了ViewHolder对应的组件对象中 (2)通过setTag()方法将这个viewHolder和当前的view建立联系 //这样就可以将没有缓存过的View对象创建出来,并将其每个组件保存在ViewHolder对象中。 (3)当View不为空的时候就可以通过convertView.getTag()将它所关联的viewHoloder对象取出。 (4)最后通过viewHolder中保存的组件对象设置当前的view对象 //通过ViewHolder类其实是优化了findViewById()的耗时操作查看全部
-
数据适配器查看全部
举报
0/150
提交
取消