AndroidDev 板


LINE

不好意思把这篇文又挖出来, 请问一下,我把原po的project给run起来之後很ok没什麽问题 但是改放在 fragment 里面而不是 activity 整个画面滑动变超卡的,怎麽会这样? ※ 引述《givemepass (〆)》之铭言: : 43 : badhabit大的程式看了让人真是感觉舒服 : 无论变数名称 编码风格跟习惯 我觉得很漂亮 : 看了这篇真的让我对ListView有更深刻的感受 : 而这篇刚好小弟之前有研究过从网路下载图片的议题 : 之前朋友问我怎麽从网路下载超大图片 : 我找了蛮久的资料 後来终於让我找到解决的写法 : 现在分享给大家 : 一般来说 网路快慢会影响取得图片的速度 : 而android对於存取网路资源这方面有5秒的限制 : 在小弟之前的文章有翻译过一篇 里面也有提到相关的议题 : 测试了一下badhabit大的程式 似乎没有做相关的预防 : 例如跑高解度的图片 会出现当机的状况 : 例如这张 http://ppt.cc/;fh~ 2.85mb 应该够大了:P : 就会跳出这样的画面 : http://uploadingit.com/file/m4oqyvohae9cqfx1/DownloadImageFail.png
: 因此小弟擅自改了一下badhabit大的程式 可以正常的跑 : http://uploadingit.com/file/5db08oskidpcjeqo/downloadImageSuccess.png
: 整体程式没有变动多少 希望badhabit大不要见怪 : 首先我改了原本程式main.java的部分 第八行 : GetWebImg ImgCache = new GetWebImg(this); : 因为我下载图片的时候 需要Context : 再来是GetWebImg.java的部分 : 小弟修改的部分有 : 加了建构子 : public GetWebImg(Context c){ : con = c; : } : 改了LoadUrlPic 函式 : public synchronized Bitmap LoadUrlPic(Context c, String url) { : URL imgUrl; : Bitmap defaultImg = BitmapFactory.decodeResource(con.getResources(), : wu.listview.webimg.R.drawable.icon); : Bitmap webImg = null; : try { : imgUrl = new URL(url); : } : catch (MalformedURLException e) { : Log.d("MalformedURLException",e.toString()); : return defaultImg;//抓不到网路图时, 读预设图片 : } : try { : HttpURLConnection httpURLConnection = : (HttpURLConnection) imgUrl.openConnection(); : httpURLConnection.setDoInput(true); : httpURLConnection.setDoOutput(false); : httpURLConnection.setUseCaches(false); : httpURLConnection.connect(); : InputStream inputStream = httpURLConnection.getInputStream(); : int length = (int) httpURLConnection.getContentLength(); : int tmpLength = 512; : int readLen = 0,desPos = 0; : byte[] img = new byte[length]; : byte[] tmp = new byte[tmpLength]; : if (length != -1) { : while ((readLen = inputStream.read(tmp)) > 0) { : System.arraycopy(tmp, 0, img, desPos, readLen); : desPos += readLen; : } : webImg = BitmapFactory.decodeByteArray(img, 0,img.length); : } : httpURLConnection.disconnect(); : } : catch (IOException e) { : Log.d("IOException",e.toString()); : return defaultImg; //抓不到网路图时, 读预设图片 : } : return webImg; : } : 这样一来 无论多大的图片下载 它都不会当掉了 : 除非网站挂了 就使用预设的图片 : 附上改过的程式码 : http://uploadingit.com/file/ylhjk0osugues8th/ListView_WebImg_update.zip : 如果有观念不正确或者更好的写法 请告知小弟 避免误导大家 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.40.167.55
1F:推 givemepass:你这样讲我不知道怎麽帮你XD 10/30 13:28
2F:→ ilay:这样说好了 我把您的code加到我的project里後 10/30 15:51
3F:→ ilay:图片载入正常 但是会经常性的无法滑动 listview 10/30 15:51
4F:→ ilay:就是卡很久的感觉 然後又突然可以滑 10/30 15:52
5F:→ ilay:目前是摸不着头绪该从哪些方向着手 10/30 15:52
6F:→ ilay:因为看logcat也看不出什麽迹象... 10/30 15:52
7F:→ ilay:或许和 fragment 没什麽关系 10/30 15:55
8F:→ ilay:只是因为我的 listview 是放在 fragment 里面所以提一下 10/30 15:56
9F:→ ilay:感谢您:) 10/30 15:56
10F:→ ilay:稍微观察一下 如果没看错的话 似乎每次拉动 listview 时 10/30 16:54
11F:→ ilay:都会触发下载@@ 10/30 16:54
12F:→ KeySabre:main thread卡住要检查什麽? 10/30 18:00
13F:→ KeySabre:你又检查过哪些? 10/30 18:01
14F:推 tac0wu:为什麽不用现成Library就好了? 10/30 20:19
15F:→ tac0wu:UIL:http://goo.gl/obp2C 这套算写很棒的 10/30 20:21
16F:→ ilay:太感激了 来玩看看! 10/30 20:30







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP