Android问题集锦之六
最后更新于:2022-04-01 06:38:04
##Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE 错误的解决与模拟器内存的设置与查看
### 问题分析:
这是由于内存不足引起的。
比如我要用一个大的图片或音乐,40+MB的,在模拟器中启动就会发生这个错误。
问题解决:
如果使用模拟器,就可以手动扩大它的内存,命令为:
` emulator -avd G8 -partition-size 150 `
其中G8是我模拟器的名称。
partition-size是模拟器的rom。
此时,我在解析40+MB的图片时,由于内存不足进程直接被kill掉。这是什么原因呢?
刚刚不是才把内存扩大到150MB么?
答:刚才扩大的只是rom,而程序运行时需要很大的ram。而模拟器默认的ram是92MB。
如何扩大呢?
答:同上,命令上加上 -memory 就好
` emulator -avd G8 -partition-size 150 -memory 855 `
模拟器启动后,可以用shell命令来查看我们的设置成功没有。可以用adb shell直接在命令行中调试,
也可以在模拟器中Dev tools-->Terminal Emulator下输入:
` # cat /proc/meminfo `
就会打印出很多信息如:
~~~
MemTotal: 852500 kB
MemFree: 58560 kB
Buffers: 127052 kB
Cached: 142116 kB
SwapCached: 18540 kB
Active: 360452 kB
Inactive: 372140 kB
Active(anon): 215636 kB
Inactive(anon): 252688 kB
Active(file): 144816 kB
Inactive(file): 119452 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 852500 kB
LowFree: 58560 kB
SwapTotal: 1489912 kB
SwapFree: 1460260 kB
Dirty: 20 kB
Writeback: 0 kB
AnonPages: 450340 kB
Mapped: 64780 kB
Shmem: 4892 kB
Slab: 43456 kB
SReclaimable: 35168 kB
SUnreclaim: 8288 kB
KernelStack: 2264 kB
PageTables: 4988 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1916160 kB
Committed_AS: 932700 kB
VmallocTotal: 159736 kB
VmallocUsed: 7544 kB
VmallocChunk: 145436 kB
HardwareCorrupted: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 4096 kB
DirectMap4k: 16384 kB
DirectMap4M: 856064 kB
~~~
这里的MemTotal就是设置的ram值了,下面再解析图片,不会内存不足了!!!