有关内存泄漏问题:
http://www.cnblogs.com/loulijun/archive/2012/04/10/2437888.html
http://www.cnblogs.com/xiaowenji/archive/2010/12/08/1900579.html
异步加载问题:
http://www.apkbus.com/android-18525-1-1.html
看上面两篇文章,大体可以对listView机制有个比较明确的了解。此外对于listView还得注意个每一项的乱序的问题。因为用优化之后就是重用的view,用ViewHolder之后是重用的view里面的所有组建,所以得注意如何单独控制每一项里面的组件而不引起其他项里面组件的变化。例如:如下图所示:
listview的每一项中一张图片和三个按钮(分享、播放、删除)。(上面的设置和拍照按钮不属于listview,并且是固定在屏幕上不动的。)现在要求点击播放时不影响其他项目中的播放按钮。
我的解决方案:设置了一个字符串数组,然后分别控制数组中每个项目的变化。代码如下:
//每次调用GetView时更新播放按钮上的值
holder.btnPlay.setText(btnTexts.get(position));
holder.btnPlay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button btn = (Button)v;
//播放
if (btn.getText().equals("播放")) {
System.out.println("播放");
btn.setText("暂停");
btnTexts.set(position, "暂停");//btnText为一个ArrayList<String>.
function.play(mList.get(position));
} else {
System.out.println("暂停");
btn.setText("播放");
btnTexts.set(position, "播放");
function.pause();
}
}
});
当然,这并不是最好的,只是暂时解决问题而已。网上关于这类问题也有很多解决方案,在此我就不发表浅见了。
总之,移动端的开发最核心的问题也是最令人头疼的问题就在于手机的性能问题:
电池有限、内存有限、cpu处理能力有限、网络不稳定等等。
在性能优化方面也有很多解决办法,重要的是要学会发现问题,去测试然后再对症下药去解决问题。比如bitmap优化,你在哪里优化,是在每次加载进listview的时候还是在初始化的时候,这中间性能有多大的差异。资源重用时是否有考虑到用单例模式,是否有考虑到用工厂模式;在启用硬件资源时,是在本线程中然后重新开启一个线程去调用;遇到耗cpu大的操作时是写在本地方法里面(这个在游戏开发上会牵扯到很多)还是有别的方法.....等等等等。
——只为留下点东西
- 大小: 10.4 KB
分享到:
相关推荐
比较傻瓜式的 解决了 listview 中图片太多 引起的 内存溢出问题。代码很简单 非常容易掌握
android listview内存优化 10M图片 没有内存溢出和卡顿线程
快速保存ListView内存中大量数据到Excel
fmx-listview应用fmx-listview应用
本项目使用了软引用,避免内存溢出,又加了外部存储。
ListView优化及加载图片时内存溢出
这个是源代码,源码的介绍请看: http://blog.csdn.net/i5suoi/article/details/19041399
很好的资源,自己写的listview与分页的综合实例,有代码和数据库。代码通过多次测试,可以正确运行。
listView嵌套listViewDemo,解决了listView嵌套listView后,子ListView不能显示全部内容的问题,通过自定义Listview解决
listview嵌套listview简单的小案例
ListView 嵌套ListView 的一个demo,可以实现二级列表。
ListView开发实例 ListView示例 ListView案例 小例子 源码
C# ListView使用例子ListView排列方式演示
listView嵌套listView
1:listview加载分页图片 2:实现下拉刷新更多 3:处理图片加载和异步缓冲 4:处理内存溢出的可能
ListView嵌套ListView,checkbox全选,多选,父item全选后,下面的子item全部选中
C# ListView添加行距 源代码 ListView添加行距 一、问题 listview控件,可以实现增大行距吗?行与行太紧了,不好看呀。 有办法可以实现吗? 我不想通过加大字体的方法,因为字体大了,行距还是近呀。 我要的是增大行...
ListView嵌套ListView并且实现动态设置子ListView的高度,
ListView嵌套GridView以及ListVIew嵌套ListVIew还有时间轴效果想要了解更多请前往http://blog.csdn.net/u014452224
viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页