见
我mainActivity
调用了tempActivity
现在在tempActivity中我调用一些本机方法和malloc一些数据..所以现在当用户
1>从tempActivity回到mainActivity或
2 - ;退出整个申请
我需要调用一个清理函数,它在本机方法中释放所有数据malloc,那么我该如何实现这些呢?
android框架有没有办法处理这种清理功能?
答案 0 :(得分:3)
好的,我认为问题是如何在本机代码中释放使用malloc()
分配的内存。
我的一个项目中有相同的要求。我是按照以下方式做到的。
在onStop()
或onDestroy()
内,我进行了本机调用,我已经习惯了free()
分配的内存。我认为这是最好和最简单的方法。我不确定android是否提供了一些API,为此。知道这样的事情是否存在将是一种信息。感谢。
答案 1 :(得分:1)
参见here的图表。
基本上Activity
类定义了几种对你有用的方法:
onPause
:这是您的屏幕锁定,您会转到其他活动onDestroy
和onStop
被召唤。也许其中一些方法对你有用。
答案 2 :(得分:1)
tempActivity
过渡到mainActivity
,请在tempActivity
的{{1}}方法中调用清理功能。我建议使用设置onDestroy
功能的Service
使用onStartCommand
,然后在START_NOT_STICKY
的{{1}}方法中调用干净功能。如果你这样做并且你有onDestroy
个人使用该服务,那么你可以在那里完成所有工作。
答案 3 :(得分:0)
推荐的技巧是在onResume
中分配您需要的任何内容,并在onPause
中进行清理。通过这种方式,您可以在活动即将显示时进行分配,并在您的活动被某些其他活动部分或完全遮盖时进行清理。