當前位置:首頁 » 安卓系統 » androidheap大小

androidheap大小

發布時間: 2022-04-29 10:52:35

『壹』 android系統運行需要多大內存

安卓手機我用過好多,從最早的256M到512M到1G到2G,個人感覺還是2G運行內存的不影響使用,1G的還湊和,再少的話,就非常差了。

『貳』 android系統大概佔多大的內存那

不是的。不知樓主說的是內存卡還是手機內存。首先要說明,卡上說的是8G,實際只能用7G多。因為生產廠家採用1000為單位,而手機讀取採用1024未單位,所以有誤差。我的android 手機由於有導航,導航佔用了1.5G多。實際系統文件只有幾百M。

『叄』 android的ram設置256 VN Heap設置多少好

你還是把ram設置大一點吧,比如512,其他的可以不設置採用默認

『肆』 android 圖片佔用內存大小怎麼計算

1、將圖片轉化為縮略圖再載入: 代碼如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inSampleSize = 2; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 該段代碼即是讀取1.png的縮略圖,長度、寬度都只有原圖片的1/2。圖片大小減少,佔用的內存自然也變小了。這么做的弊端是圖片質量變差,inSampleSize的值越大,圖片的質量就越差。由於各手機廠商縮放圖片的演算法不同,在不同手機上的縮放圖片質量可能會不同。筆者就遭遇過moto手機上圖片縮放後質量可以接受,三星手機上同樣的縮放比例,質量卻差很多的情況。 2、用ARBG_4444顏色模式載入圖片: Android中有四種,分別是: ALPHA_8:每個像素佔用1byte內存 ARGB_4444:每個像素佔用2byte內存 ARGB_8888:每個像素佔用4byte內存 RGB_565:每個像素佔用2byte內存 Android默認的顏色模式為ARGB_8888,這個顏色模式色彩最細膩,顯示質量最高。但同樣的,佔用的內存也最大。 代碼如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inPreferredConfig = Bitmap.Config.ARGB_4444; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 以上代碼即是將1.png以ARGB_4444模式讀出。內存減少雖然不如第一種方法明顯,但是對於大多數圖片,看不出與ARGB_8888模式有什麼差別。不過在讀取有漸變效果的圖片時,可能有顏色條出現。另外,會影響圖片的特效處理。 3、調用圖片的recycle()方法: 這個其實不是真正降低圖片內存的方法。主要目的是標記圖片對象,方便回收圖片對象的本地數據。圖片對象的本地數據佔用的內存最大,而且與程序java部分的內存是分開計算的。所以經常出現Java heap足夠使用,而圖片發生OutOfMemoryError的情況。在圖片不使用時調用該方法,可以有效降低圖片本地數據的峰值,從而減少OutOfMemoryError的概率。不過調用了recycle()的圖片對象處於“廢棄”狀態,調用時會造成程序錯誤。所以在無法保證該圖片對象絕對不會被再次調用的情況下,不建議使用該方法。特別要注意已經用setImageBitmap(Bitmap img)方法分配給控制項的圖片對象,可能會被系統類庫調用,造成程序錯誤。 4、使用Matrix對象放大的圖片如何更改顏色模式: 雖然使用Matrix對象放大圖片,必定會耗費更多的內存,但有時候也不得不這樣做。放大後的圖片使用的ARGB_8888顏色模式,就算原圖片是ARGB_4444顏色模式也一樣,而且沒有辦法在放大時直接指定顏色模式。可以採用以下辦法更改圖片顏色模式。 代碼如下 Matrix matrix = new Matrix(); float newWidth = 200;//圖片放大後的寬度 float newHeight = 300;//圖片放大後的長度 matrix.postScale(newWidth / img.getWidth(), newHeight/ img.getHeight()); Bitmap img1 = Bitmap.createBitmap(img, 0, 0, img.getWidth(), img.getHeight(), matrix, true);//得到放大的圖片 img2 = img1.(Bitmap.Config.ARGB_4444, false);//得到ARGB_4444顏色模式的圖片 img = null; img1 = null; 這里比起原來的圖片額外生成了一個圖片對象img1。但是系統會自動回收img1,所以實際內存還是減少了。

『伍』 有辦法降低 Android 的 graphics 層的內存嗎

(1) 操作Bitmap對象,一定要注意,在不使用的時候 recycle
(2) 訪問資料庫,一定要記得關閉游標
(3) 涉及JNI層的代碼,由於JNI層是採用C/C++編寫,需要自己管理內存的分配/回收,所以要慎重小心。
那麼,Android開發中,有什麼有效的方法可以檢測內存使用情況以及內存泄漏呢看
這里主要介紹三種方法:
1. 程序的Log信息
程序在進行垃圾回收的時候,會列印一條Log信息(logcat窗口),例如:
D/dalvikvm( 9050): GC_CONCURRENT freed 2049K, 65% free 3571K/9991K, external 4703K/K, paused 2ms+2ms
注意這條信息中的 逗 3571K/9991K地 值,這代表著程序使用的heap大小,如果這個值一直在增加,而從來不減小,那麼就代表著你的程序存在著內存泄漏。
2. DDMS的Heap信息
Eclipse開發環境還提供了一種更加直觀的方法來查看App的Heap信息,操作方式如下:

(1) 連接手機,運行程序,假設是 com.ticktick.test 程序
(2) 點擊DDMS按鈕,在左側的Device窗口選中你要檢測的程序(com.ticktick.test )
(3) 點擊Device窗口工具欄的第二個圖標(Update Heap),
(4) 點擊右邊的窗口的Cause GC按鈕,即可得到當前程序的Heap信息
同樣,隨著程序的運行,多次點擊得到的Heap大小,如果只增不減的話,也昭示著你的程序有內存泄漏。
3. adb命令查看內存信息
其實,最全面最簡單的方式還是用adb命令來查看程序的內存佔用和內存泄漏情況,打開命令行窗口,adb命令的格式如下:
adb shell mpsys meminfo <package_name>
其中,package_name 也可以換成程序的pid,pid可以通過 adb shell top | grep app_name 來查找,在命令行窗口運行上述命令,得到的我的 com.ticktick.test 程序的內存情況如下所示:

這里得到的信息非常多,重點關注如下幾個欄位:
(1) Native/Dalvik 的 Heap 信息
具體在上面的第一行和第二行,它分別給出的是JNI層和Java層的內存分配情況,如果發現這個值一直增長,則代表程序可能出現了內存泄漏。
(2) Total 的 PSS 信息
這個值就是你的應用真正占據的內存大小,通過這個信息,你可以輕松判別手機中哪些程序占內存比較大了。
4. 總結
關於Android開發中內存的使用情況和內存泄漏的檢測就簡單介紹到這里,基本上用以上三種方式都能夠定位內存泄漏問題,平時在使用Bitmap,資料庫和JNI層C/C++編程的時候,注意一點就行。另外,如果想深入了解文中的一些詳細內容,可以參考Google官方提供的兩篇文章,它們有著更詳細的論述《Investigating Your RAM Usage》,《Managing Your App Memory》,有任何疑問或者不清楚的地方,歡迎留言或者來信[email protected]交流。

『陸』 請問android studio里怎麼設置heap size大小呢我的studio一打開最大就才63M.已經佔用了50多M了。

http://doublewong.com/2014/increase-android-studio-allocated-heap-size/,請參考這篇帖子

『柒』 安卓系統需要佔用手機多少內存

android系統佔用手機內存的大小隨著版本的不同而不同,一般在100-1000m不等。
安卓系統的優化相比於ios和wp要差一些,而且垃圾和碎片問題十分嚴重,另外安卓相比ios是真後台,如果後台運行很多軟體對內存佔用是非常高的。

『捌』 在android studio中怎麼設置heap size

參考如下內容,設置內存的大小:
Android命令行提供setprop和getprop這兩個命令來設置Android系統的一些屬性,就比如說虛擬機堆內存大小等等。
但這兩個命令必須在root許可權下設置才能生效,並且必須在root許可權下重啟shell
操作命令如下:

[cpp] view plain
adb root
adb shell setprop dalvik.vm.heapgrowthlimit 64m
adb shell setprop dalvik.vm.heapsize 192m
adb shell stop
adb shell start
adb shell getprop dalvik.vm.heapsize

『玖』 修改android手機的dalvik-heap的大小多少

修改的方法:

1. dalvik.vm.heapgrowthlimit的設置在 /system/build.prop中

2. adb remount / adb pull /system/build.prop

3. 修改build.prop文件,將dalvik.vm.heapgrowthlimit修改後,adb
pull /system/

4. chmod修改build.prop的許可權。這里要注意,我開始修改的是chmod 777,後來系統起不來。ll
查看system/下文件許可權,發現時744。同理: chmod
744,發現就 OK了。原來許可權給高了還不行。

『拾』 android系統嚴格規定了每個應用所能分配的最大的內存為多少

Android應用程序的默認最大內存值為16M,不同的手機版本和型號有所不同(我的三星galaxy s3的是256M)

Android應用程序的默認最大內存值

有些應用程序可能會出現內存溢出,譬如:

ERROR/AndroidRuntime(264): java.lang.OutOfMemoryError: bitmap size exceeds VM budget

除了要檢查修正代碼之外,還可以考慮修改Android應用程序的默認最大內存值。

熱點內容
sql存儲過程out 發布:2024-04-26 19:33:15 瀏覽:414
struts2訪問方法 發布:2024-04-26 19:11:36 瀏覽:259
外文翻譯android 發布:2024-04-26 19:03:30 瀏覽:90
土金木配置怎麼樣 發布:2024-04-26 18:52:50 瀏覽:611
這台電腦如何訪問另一台電腦伺服器 發布:2024-04-26 18:51:08 瀏覽:628
怎麼快速了解電腦的配置 發布:2024-04-26 18:42:11 瀏覽:998
rsa加密演算法例子 發布:2024-04-26 18:40:29 瀏覽:244
thinkphp緩存關閉 發布:2024-04-26 18:19:32 瀏覽:97
linux信號捕捉 發布:2024-04-26 18:19:27 瀏覽:935
編譯有哪兩種模式 發布:2024-04-26 17:53:30 瀏覽:871