綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] runOnUiThread裡面沒辦法使用Handler

[複製連結] 查看: 1157|回覆: 5|好評: 0
跳轉到指定樓層
樓主
lkk47 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2012-11-26 11:32

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
我使用runOnUiThread去執行listview.setadapter(), adapter使用handler去下載圖片  這樣作會報錯誤
錯誤訊息java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

有辦法讓 runOnUiThread 可以執行Handler嗎?
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
ploglin | 收聽TA | 只看該作者
發表於 2012-11-26 11:38
下載圖片應該要用 asynctask 去做會比較好唷!
不然在 load 圖的時候會卡卡的
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
pjt | 收聽TA | 只看該作者
發表於 2012-11-26 14:42
在沒有特別指定的情況下,Handler的running thread是建造出Handler的thread.在正確的thread中new出來的Handler是可以在runOnUiThread()裡執行的(雖然這個動作在80%的情況下是多此一舉).
以您的說明來看,在handler裡去做下載圖片的事(尤其是還想把這handler跟UI thread連在一起)是不對的,很容易ANR.請改用AsyncTask或是別的thread來做.
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
 樓主| lkk47 | 收聽TA | 只看該作者
發表於 2012-11-26 15:19

handler除了下載圖片外主要功能是cache image  看來需要改別的方式來cache image了
我在官方有找到  http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

看似在講cache機制  還是你們有更好的cache機制可以分享呢?
我得先看完那篇文章
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
ploglin | 收聽TA | 只看該作者
發表於 2012-11-26 16:22
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
 樓主| lkk47 | 收聽TA | 只看該作者
發表於 2012-11-26 17:18
ploglin 發表於 2012-11-26 16:22
https://github.com/nostra13/Android-Universal-Image-Loader
我使用過這一套

哈哈  我剛也有找到  他也包好library了
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則