androidlistview大数据
‘壹’ android ListView 每个item加载大量的文本滑动会出现内存溢出咋办咋办
这个设计到listview优化问题。
首先,listview必须严格按照convertView及viewHolder格式书写,这样可以基本保证数据最优。
其次,如果自定义Item中有涉及到图片等等的,一定要做图片优化。bitmap释放可以不做。
第三,尽量避免在BaseAdapter中使用static 来定义全局静态变量,这个影响很大,static是Java中的一个关键字,当用它来修饰成员变量时,那么该变量就属于该类,而不是该类的实例。所以用static修饰的变量,它的生命周期是很长的,如果用它来引用一些资源耗费过多的实例(比如Context的情况最多),这时就要尽量避免使用了..
第四,尽量避免在ListView适配器中使用线程,因为线程产生内存泄露的主要原因在于线程生命周期的不可控制。
最后,如果上述你都做到的话,你的listview已经优化的很好了。针对你的问题,你的listview控件高度是否设置为fill_parent,因为warp会导致listview滑动中无限计算自身高度。你的文本加载是否做过线程以及多次重复加载的问题处理。你的item中变量是否多次无限生成新的内存对象等等。
‘贰’ android循环取ListView中的数据
首先要给item所在的对象设置上值
‘叁’ android控件listview怎样显示数据库数据呢
先创建一个帮助类BaseHelper,继承SQLiteOpenHelper,然后在获得读取的权限,BaseHelper.getReadableDatabase();查询:Cursor cursor = db.query(TABLE_NAME,str,null,null,null,null,null);,接着放到adapter里面然后就显示出来SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.showcontact, cursor, FROM, TO);
setListAdapter(adapter);。大概流程就这样,具体看帮助文档或者网络+google
‘肆’ android listview怎么更新数据
0、本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged();方法使得listview界面自动更新。
操作:
1、List<String> strName = new ArrayList<String>();//实际的数据源
2、Adapter adapter = new ArrayAdapter<String>(context,
R.layout.xmlforitem, strName);//适配器,其中 R.layout.xmlforitem是列表中每一项的布局,可以用默认的也可自建,strName则是将数据源绑定到适配器
3、listView.setAdapter(adapter);//将适配器绑定到列表显示控件ListView;
4、strName.add("TEST ONE");//增加一项,引起list变化,Adapter也随之变化;
5、adapter.notifyDataSetChanged();//调用notifyDataSetChanged();更新适配器,ListView会自动刷新,notifyDataSetChanged()方法可能需要在UI线程中调用,建议自行测试;
6、数据增加可能引起内存变化,需防内存溢出;
7、其他。
以上仅供参考,建议多搜索相关文档。
‘伍’ android的ListView如何追加数据
listview的适配器adapter里面调用additem(List)这样的方法,如果没有,就自己 写一个,就是给adapter中的list追加数据而已,然后调用adapter的刷新就好了,esay