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

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

應(yīng)用程序可以使用的最大RAM數(shù)量是多少?

應(yīng)用程序可以使用的最大RAM數(shù)量是多少?

蕪湖不蕪 2019-11-22 15:51:22
我對這個與Android操作系統(tǒng)的內(nèi)存管理有關(guān)的問題感到非常好奇,因此我希望就該主題提供一個非常詳細(xì)的答案。我想知道的是:Android應(yīng)用程序(非系統(tǒng)應(yīng)用程序)可以使用的最大內(nèi)存量(兆字節(jié) / 占總RAM的百分比)是多少?Android版本之間有什么區(qū)別嗎?關(guān)于設(shè)備制造商有什么區(qū)別嗎?最重要的是:什么被視為/ 這是什么取決于當(dāng)它涉及到系統(tǒng)中確定多少內(nèi)存的應(yīng)用程序可以在運(yùn)行時使用(假設(shè)每個應(yīng)用程序的內(nèi)存最大是不是一個靜態(tài)的數(shù)字)?到目前為止(截至2013年)我所聽到的:早期的Android設(shè)備的每個應(yīng)用上限為16MB后來這個上限增加到24MB或32MB是什么讓我非常好奇:這兩個限制都非常低。我剛剛下載了Android任務(wù)管理器,以檢查設(shè)備的RAM。我已經(jīng)注意到,有些應(yīng)用程序使用大約40-50 MB的RAM,這比上面提到的最大RAM使用量(例如32 MB)要明顯得多。那么Android如何確定一個應(yīng)用可以使用多少RAM?應(yīng)用程序怎么可能超過該限制?此外,我注意到當(dāng)使用大約30-40 MB時,我的某些應(yīng)用程序崩潰了(被系統(tǒng)殺死了?),并出現(xiàn)OutOfMemoryException。另一方面,一段時間后(可能是由于內(nèi)存泄漏),我的手機(jī)上使用的應(yīng)用程序使用的內(nèi)存為100 MB以上,并且不會崩潰或消失。因此,在確定可以保留多少RAM時,顯然還取決于應(yīng)用程序本身。這怎么可能?(我使用具有768 MB RAM的HTC One S進(jìn)行了測試)免責(zé)聲明:我不以任何方式與Android Task Manager應(yīng)用關(guān)聯(lián)。
查看完整描述

3 回答

?
一只萌萌小番薯

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

Android應(yīng)用程序(非系統(tǒng)應(yīng)用程序)可以使用的最大內(nèi)存量(以兆字節(jié)為單位/占總RAM的百分比)是多少?


這因設(shè)備而異。getMemoryClass()onActivityManager將為您提供運(yùn)行代碼的設(shè)備的值。


Android版本之間有什么區(qū)別嗎?


是的,這些年來,對操作系統(tǒng)的要求不斷增加,并且設(shè)備必須進(jìn)行調(diào)整以匹配。


關(guān)于設(shè)備制造商是否存在差異?


是的,只要制造商制造設(shè)備,并且大小隨設(shè)備而異。


在確定應(yīng)用程序可以使用多少RAM時,要考慮哪些“附帶因素”?


我不知道什么是“附帶條件”。


早期的設(shè)備每個應(yīng)用程序的上限為16MB;后來的設(shè)備增加到24MB或32MB


沒錯。屏幕分辨率是一個重要的決定因素,因為更大的分辨率意味著更大的位圖,因此平板電腦和高分辨率手機(jī)將傾向于具有更高的值。例如,您將看到具有48MB堆的設(shè)備,并且如果有更高的值,我也不會感到驚訝。


應(yīng)用程序怎么可能超過該限制?


您假設(shè)該應(yīng)用程序的作者知道他在做什么??紤]到Android核心工程師難以確定應(yīng)用程序的內(nèi)存使用情況,因此我不認(rèn)為所討論的應(yīng)用程序必須提供特別準(zhǔn)確的結(jié)果。


話雖如此,本機(jī)代碼(NDK)不受堆限制。而且,從Android 3.0開始,應(yīng)用程序可以請求“大堆”,通常在數(shù)百M(fèi)B范圍內(nèi),但是對于大多數(shù)應(yīng)用程序來說,這是較差的形式。


此外,我注意到當(dāng)使用大約30-40 MB時,我的某些應(yīng)用程序會因OutOfMemoryException崩潰。


請記住,Android垃圾收集器不是壓縮垃圾收集器。確實應(yīng)該有例外CouldNotFindSufficientlyLargeBlockOfMemoryException,但這可能被認(rèn)為太羅y了。OutOfMemoryException意味著您不能分配所請求的塊,而不是您已經(jīng)用盡了整個堆。


查看完整回答
反對 回復(fù) 2019-11-22
  • 3 回答
  • 0 關(guān)注
  • 806 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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