首页 > 编程知识 正文

基于android的app开发,android版本

时间:2023-05-04 11:40:18 阅读:49319 作者:1852

当Android在界面中跳转时,例如,从Activity A跳转回Activity B,不是先运行a的onDestroy,而是在运行a的onPause后立即运行Activity B中的on resusurus 在Activity B的onResume运行一两秒或更长时间后,Activity A的onDestroy将运行。

这样的处理机制应该是为了能够立即应对用户的操作。 但是,在这种情况下,如果Activity A在执行前和执行后都进行预处理和逆预处理,则存在问题。 例如,假设您是一个可以播放加密视频的播放器,将视频解密操作置于onCreate,将视频加密操作置于onDestory。 在这种情况下,Activity A是用于播放视频的接口,而Activity B是播放列表/主接口。 在Activity B中单击相应的视频c进入Activity A,以便在onCreate中执行解密并播放视频。 由于按下后退按钮时会先执行Activity B的onResume,因此在视频c被加密之前,您可以跳到Activity B的界面并返回,此时您也可以访问Activity B。 此时(Activity A的onDestroy尚未调用,但Activity B的onResume已经运行,因此可以与Activity B交互) )用户单击视频c,然后再次进入Activity A Activity A用onCreate解码视频c ) )此时,视频c或视频c暂且不谈,若加密函数不与解码函数等价,且若运动图像通过二次解码不返回到原运动图像,则该运动图像被二次解码而成为废运动图像。

因此,对时间的要求和与活动是否获得焦点密切相关的操作应该考虑放在onResume和onPause上,而不是放在onCreate和onDestroy上。 如上例所示,使用surfaceView播放视频的情况下,surfaceHolder.addCallback上的new Callback ()实现中的surfaceCreated和surfaceDestroyed这两个

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。