我正在设计一个Android社交应用程序。这个应用程序看起来像电报。它有两个活动。在第一个活动中,显示组列表。当用户点击某个组时,第二个活动会显示组消息列表。消息可以包含文本,照片,视频或贴纸。我使用RecyclerView来显示消息列表。
有时当用户正在进行第二次活动时,会发生内存不足错误。
当必须显示照片信息时,照片信息之前的位图会被回收并设置为空,然后我会在Imageview上显示新的照片信息。
显示贴纸消息,通过使用库,位图从贴纸文件创建,并显示在ImageView上。创建位图的过程,获得显着的内存量。我在post
中询问了贴纸问题当用户正在处理消息列表活动时,内存图如下图所示。
当用户读取其组消息并返回第一个活动时,第二个活动被销毁,但第二个活动的内存未被释放。当用户点击另一个组时,第二个活动再次启动,并使用另一部分可用内存。重复此操作会导致消耗越来越多的内存,最终导致应用程序终止工作,原因是"内存不足"。
当用户关闭应用程序时,内存不会被释放。如果用户再次打开应用程序,则使用免费的部分内存来显示应用程序。多次打开应用程序导致内存不足。
我该怎么办?如何在销毁活动或关闭应用程序时释放堆内存。
图像尺寸(50px * 90px)和贴纸(20kb - 50kb)很小。
抱歉,如果我的英语很差。我希望有人可以帮助我。