第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

求android或java大神解答下這個(gè)小bug

求android或java大神解答下這個(gè)小bug

夏Jue 2016-12-23 23:05:18
是這樣的,我的android程序中打開了一個(gè)activity,里面進(jìn)去后就是用File對(duì)象 file.list()方法讀取指定目錄中的所有文件然后顯示到GridView中,有一個(gè)小bug,比如我的目錄下有大量文件,file.list()方法執(zhí)行速度就會(huì)很慢,一直到能顯示到GridView中需要一段時(shí)間,如果在還未獲取完成時(shí)退出了該activity,但是它的獲取操作可能還在繼續(xù),獲取完后才會(huì)被回收?如果在該次操作(file.list獲取文件)還沒有完成并回收前再次進(jìn)入該activity,則又會(huì)重新開始一次操作(file.list獲取文件),導(dǎo)致更慢,所以我如何能在該activity執(zhí)行onDestroy的時(shí)候終止掉這里面的操作?(file.list獲取文件)求大俠解答,或提供思路,由衷感謝!如果您沒接觸過android,但是知道java的話,我就簡單闡述下,能不能終止掉File對(duì)象中的.list方法,
查看完整描述

3 回答

已采納
?
alionSSS

TA貢獻(xiàn)57條經(jīng)驗(yàn) 獲得超82個(gè)贊

拿一個(gè)子線程去執(zhí)行file.list(),然后onDestroy的時(shí)候打斷子線程,這樣可以嗎?

查看完整回答
1 反對(duì) 回復(fù) 2016-12-24
  • 夏Jue
    夏Jue
    謝謝你的回答,根據(jù)你的思路基本解決了這個(gè)問題.這幾天寫太多代碼寫暈了把它想復(fù)雜了,我把AsyncTask終止就可以了
  • alionSSS
    alionSSS
    多休息休息!解決了就好!
?
謙謙佳人

TA貢獻(xiàn)29條經(jīng)驗(yàn) 獲得超7個(gè)贊

線程在未完成任務(wù)時(shí),你是無法去強(qiáng)行讓它停止的。

對(duì)于java封裝好的api,你必須得繼承File類 ?然后重寫listFiles() 方法,如圖

http://img1.sycdn.imooc.com//585e291e0001c26809580332.jpg

直接將這個(gè)代碼塊拷過來就行,然后在其中的for循環(huán)第一行就加上activity的銷毀判斷

if(activity == null || activity.isFinishing()){

????return null;

}


查看完整回答
1 反對(duì) 回復(fù) 2016-12-24
  • 夏Jue
    夏Jue
    謝謝你的回答!這個(gè)我倒是從來沒想到過,受教了.
  • 夏Jue
    夏Jue
    你上面的listFiles方法我查看了下,這個(gè)方法一開始就調(diào)用了list()方法,而list方法是調(diào)用了 private static native String[] listImpl(String path);,表示是一個(gè)外部方法,沒辦法看源碼,應(yīng)該也無法用java實(shí)現(xiàn),所以也無法在里面的循環(huán)中添加條件控制,所以很遺憾也是不行的,不過非常感謝您提供的這個(gè)思路,相信對(duì)我以后的開發(fā)有很大幫助的.
  • 謙謙佳人
    謙謙佳人
    好吧,我也沒試過,只是這樣的方式比直接停止線程要靠譜一些。
點(diǎn)擊展開后面1
?
一條小咸魚

TA貢獻(xiàn)457條經(jīng)驗(yàn) 獲得超255個(gè)贊

再開一個(gè)線程?

查看完整回答
反對(duì) 回復(fù) 2016-12-24
  • 夏Jue
    夏Jue
    原本就是異步執(zhí)行了,根據(jù)樓上的提醒把異步終止就可以了,謝謝你們的回答
  • 3 回答
  • 0 關(guān)注
  • 1846 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)