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