日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
android圖片顯示(一)————關(guān)于并發(fā),亂序問(wèn)題的處理-創(chuàng)新互聯(lián)

GridView加適配器的方式

“只有客戶(hù)發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線(xiàn),而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。

如果僅僅只用gridview加適配器的方法,因?yàn)榧虞d圖片是需要時(shí)間的,如果你直接在getview中加載圖片的話(huà),就會(huì)影響UI,照成滑動(dòng)的時(shí)候卡頓。所以,每加載一個(gè)圖片的時(shí)候,我們會(huì)開(kāi)啟一個(gè)額外的進(jìn)程,這樣就不會(huì)影響UI主線(xiàn)程了。

僅僅只是開(kāi)啟一個(gè)額外的線(xiàn)程會(huì)出現(xiàn)“亂序”的問(wèn)題。也就是“并發(fā)性”的問(wèn)題。

因?yàn)?,?dāng)你進(jìn)行滑動(dòng)的時(shí)候,凡是經(jīng)過(guò)的區(qū)域都會(huì)打開(kāi)線(xiàn)程加載圖片,每個(gè)線(xiàn)程執(zhí)行完畢的時(shí)間不是固定的。只有當(dāng)線(xiàn)程執(zhí)行完畢后,才會(huì)顯示在當(dāng)前屏幕上。因此,當(dāng)你大規(guī)模的滑動(dòng)的時(shí)候,有些區(qū)域的圖片還沒(méi)顯示就被滑走,但是他們的線(xiàn)程還在,所有的線(xiàn)程都擠到當(dāng)前屏幕顯示。所以被滑過(guò)的圖片會(huì)在相續(xù)的顯示,往往一個(gè)位置要顯示好幾張不同的圖片(因?yàn)榫€(xiàn)程加載的時(shí)差相互覆蓋),最后顯示為該屏幕本來(lái)的圖片。

這就是“并發(fā)性”的問(wèn)題,并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。

這樣應(yīng)該就能明白為什么會(huì)出現(xiàn)并發(fā)性問(wèn)題,因?yàn)橥瑫r(shí)有多個(gè)線(xiàn)程再執(zhí)行,我們不能保證圖片的線(xiàn)程在被滑過(guò)之后就停止執(zhí)行了。

解決并發(fā)性問(wèn)題,我最近嘗試的方式有兩種,一種Android doc上推薦的方法,還有一個(gè)就是看guolin大神的博客上的方法。

Android doc上推薦的方式

Android doc上推薦的方法,思路是將線(xiàn)程與每個(gè)位置(ImageView)綁定,在圖片沒(méi)有加載完之前先用一個(gè)站位圖片站著,若正在執(zhí)行的線(xiàn)程不是當(dāng)前圖片所綁定的線(xiàn)程就取消掉,不再加載。這樣就只有被綁定的線(xiàn)程才能執(zhí)行,不會(huì)在一個(gè)位置上重復(fù)出現(xiàn)多張不同的圖片。

參考鏈接:

http://developer.android.com/training/displaying-bitmaps/process-bitmap.html

guolin大神的setTag方式

而guolin大神用了一個(gè)ImageView.setTag(imgeUri),為每個(gè)位置綁定一張圖片,其中p_w_picpathUri是每張圖片在本地的存儲(chǔ)路徑,既能保證不重復(fù),也可以用它來(lái)加載圖片。

參考鏈接:http://blog.csdn.net/guolin_blog/article/details/9526203

所以我自己試著用了setTag()寫(xiě)了一下,確實(shí)能解決問(wèn)題。但是,圖片出現(xiàn)的速度比guolin大神的慢了許多,比Android doc也慢了許多。想了一下,原來(lái)是因?yàn)锳ndroid doc的方法是在判斷后有取消線(xiàn)程的執(zhí)行。而我只是在線(xiàn)程執(zhí)行之后,判斷該線(xiàn)程所加載的圖片是否與該位置綁定。沒(méi)綁定就不顯示。這樣所有線(xiàn)程不管有用沒(méi)有都執(zhí)行了一遍,效率很低。而guolin大神的又不一樣,因?yàn)樗貙?xiě)了OnScoll(),在滑動(dòng)時(shí),所有線(xiàn)程都取消,只有停下來(lái)的時(shí)候才開(kāi)線(xiàn)程,所以,也不會(huì)有無(wú)用的線(xiàn)程在執(zhí)行。我覺(jué)得這樣也很不錯(cuò)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


當(dāng)前名稱(chēng):android圖片顯示(一)————關(guān)于并發(fā),亂序問(wèn)題的處理-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://www.dlmjj.cn/article/ieppp.html