為什么handleMessage可以直接引用ImageLoader實例的成員變量而不發(fā)生錯亂?
為什么總覺得這里怪怪的,在handleMessage中直接用ImageLoader實例的成員變量mImageView和mUrl,假如要調(diào)用適配器的getView方法6次,那么就要另外開啟6個線程,每個線程都會sendMessage一次,但是誰先誰后發(fā)送message是不定的,而在先發(fā)送的message一定會先被handleMessage所處理,但是,在主線程中的handleMessage在處理message的時候會不會用用到不是與之對應(yīng)的ImageLoader實例的成員變量mImageView和mUrl呢?
2016-04-20
今天又看了一下本次課程,發(fā)現(xiàn)handleMessage在處理message時處理的mImageView和mUrl確實不對應(yīng),作者用mImageView.getTag().equals(mUrl)的方式解決了該問題,但為什么出現(xiàn)這個問題并沒有說清楚,求高人指導(dǎo)!
2016-02-14
每調(diào)用一次?getView 方法就會新建一個?ImageLoader 對象,每個ImageLoader?對象內(nèi)部都有自己的成員變量mHandler,mImageView,mUrl,所以不會出現(xiàn)你說的錯亂的情況。
2016-02-07
你說的“但是誰先誰后發(fā)送message是不定的”這個我不太確定,不敢亂解釋,但是即使“用到不是與之對應(yīng)的ImageLoader實例的成員變量mImageView和mUrl”,position和imageview、url是對應(yīng)的,所以handler總會把圖像加載到這個圖片對應(yīng)的position和imageview上