android会在创建时将所有活动的res加载到内存中吗?

时间:2017-03-15 09:25:19

标签: android android-resources android-memory

我只是好奇并做了一个测试。

只是一个简单的应用程序,只有一个活动A.
A中有一个按钮和一个ImageView(ivTest),我在drawable中放了一张大图(1024x1024)img.jpg。 当按钮触发时,它调用ivTest.setImageResource(R.drawable.img)并且当然会出现图片。

这是测试:

1.启动应用程序,点击按钮,看到图片,没问题。
现在杀了这个应用程序。

2.删除文件:data / app / com.test-1.apk(测试设备是root所以我可以这样做),启动应用程序,查看错误" ClassNotFoundException",它'如预期的那样(设备中的apk文件被删除) 现在重新安装应用程序。

3.启动应用程序,删除文件:data / app / com.test-1.apk,单击按钮,图片仍然显示。如何?

我假设android系统会将活动的所有res加载到内存中,这样即使我删除了apk文件,它仍然可以显示图片。
但是当我将10张大图片(每张10M)添加到res / drawable并启动活动时,内存不会在Android Monitor中上升。

太困惑了。有谁能解释一下?提前谢谢。

0 个答案:

没有答案