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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從“資產(chǎn)”文件夾加載大于1M的文件

從“資產(chǎn)”文件夾加載大于1M的文件

慕妹3146593 2019-08-02 03:02:44
從“資產(chǎn)”文件夾加載大于1M的文件我要瘋了,我創(chuàng)建了一個文件對象,這樣就可以用ObjectInputStream讀取它,并將資產(chǎn)文件夾放入其中。該方法適用于小于1M的文件,并對較大的文件產(chǎn)生錯誤。我讀到這是Android平臺的一個限制,但我也知道這是“很容易”避免的。例如,那些下載了“雷霆”游戲的人可以很容易地看到,在他們的“資產(chǎn)”文件夾中,有一個1890萬個文件。這是我從ObjecInputStream讀取1個對象的代碼File f = File.createTempFile("mytempfile", "dat");FileOutputStream fos = new FileOutputStream(f);InputStream is = mc.getAssets().open(path,3);ObjectInputStream ois=new ObjectInputStream(is);byte[] data = (byte[]) ois.readObject();fos.write(data);fos.flush();fos.close();ois.close();is.close();現(xiàn)在我有了一個未壓縮的文件,我可以使用它而不用擔心錯誤“這個文件不能作為文件描述符打開,它可能是壓縮的”。這個函數(shù)適用于小于1M的文件,較大的文件返回java.io.IOException在線“ObjectInputStream=新的ObjectInputStream(IS)”;為什么??
查看完整描述

3 回答

?
弒天下

TA貢獻1818條經(jīng)驗 獲得超8個贊

限制是在壓縮資產(chǎn)上。如果資產(chǎn)未壓縮,系統(tǒng)可以存儲-映射文件數(shù)據(jù),并使用Linux虛擬內(nèi)存分頁系統(tǒng)在適當情況下提取或丟棄4K塊。(“zip對齊”工具確保未壓縮的資產(chǎn)在文件中是對字對齊的,這意味著它們在直接映射時也將在內(nèi)存中對齊。)

如果資產(chǎn)被壓縮,系統(tǒng)必須將整個程序解壓縮到內(nèi)存中。如果您有20 MB的資產(chǎn),這意味著應用程序占用了20 MB的物理內(nèi)存。

理想情況下,系統(tǒng)將使用某種類型的加窗壓縮,因此只需要出現(xiàn)部分,但這需要在資產(chǎn)API中有一些幻想,并且需要一種適用于隨機訪問的壓縮方案?,F(xiàn)在,APK=Zip具有“平減”壓縮,所以這是不切實際的。

您可以通過為資產(chǎn)提供一個沒有壓縮的文件類型后綴(例如“.png”或“.mp3”)來保持未壓縮資產(chǎn)。您還可以在構(gòu)建過程中使用“zip-0”手動添加它們,而不是讓AAPT捆綁它們。這可能會增加您的APK的大小。




查看完整回答
反對 回復 2019-08-03
  • 3 回答
  • 0 關(guān)注
  • 379 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

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