Android apk 插件启动内存释放问题

作者:lqh 时间:2022-05-16 07:26:39 

Android apk 插件启动内存释放问题

插件中启动apk,一般情况下在apk中内存不存在问题,但在插件中可能会存在并放大这个问题,原因是在插件中重新loadclass后,原来插件的资源会重新加载,而在安装的apk中除非被系统杀掉,不然可以重新利用原来没关掉的资源;在插件中具体表现如下:

  1.static定义的变量,假如是存放外部传进来的实例,记得在推出时必须置空,不然导致传入的实例无法释放;内部new出来的保存在静态变量中也一样;

  2.单例中new出来的实例存放到List等容器中,在退出时记得clear()下清空容器,不然内存还会泄露:

     比如类中定义


  private List<ClientTaskBase> tasks = new ArrayList<ClientTaskBase>();

     然后在方法中使用


ClientTaskBase task_= (ClientTaskBase) Class.forName(value).newInstance();

tasks.add(task_);

  在退出时,必须的清空

另外可用类的finalize方法来检测下类是否已被释放,该方法是在垃圾回收时释放内存会调用

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

来源:http://blog.csdn.net/chenrunhua/article/details/40298467

标签:Android,apk,内存
0
投稿

猜你喜欢

  • Java 数组元素倒序的三种方式(小结)

    2022-04-01 22:59:19
  • C#制作鹰眼的详细全过程(带注释)实例代码

    2022-03-01 06:56:12
  • 一起来了解Java的File类和IO流

    2022-04-12 09:23:15
  • Android 文件数据存储实例详解

    2023-07-28 17:08:03
  • Android调用应用安装界面方法

    2021-05-25 18:29:20
  • Java动态规划之编辑距离问题示例代码

    2023-10-30 00:21:21
  • Java实现驼峰和下划线互相转换的示例代码

    2023-12-16 15:23:48
  • 一篇文章带你入门java变量与类型

    2022-10-13 06:14:58
  • Java实现简单猜拳游戏

    2023-05-27 18:28:16
  • Android中的webview支持页面中的文件上传实例代码

    2023-12-27 06:44:17
  • 如何解决Java多线程死锁问题

    2022-08-11 15:51:02
  • C#实现Windows Form调用R进行绘图与显示的方法

    2021-11-29 05:40:13
  • Mybatis关联查询结果集对象嵌套的具体使用

    2021-07-12 22:09:18
  • MyBatis-Plus实现公共字段自动填充功能详解

    2021-10-19 22:14:39
  • Java实现的基于socket通信的实例代码

    2021-12-30 19:06:50
  • Java输出链表倒数第k个节点

    2023-03-22 01:22:34
  • Servlet注解之@WebInitParam多个InitParam的使用

    2023-08-04 13:43:01
  • Java实现word/pdf转html并在线预览

    2022-09-09 09:16:49
  • Java实现导出ZIP压缩包的方法

    2023-05-06 04:58:57
  • Android中应用前后台切换监听的实现详解

    2021-12-28 17:59:36
  • asp之家 软件编程 m.aspxhome.com