前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >android onresume函数,Android界面跳转时候onDestroy和onResume的调用顺序

android onresume函数,Android界面跳转时候onDestroy和onResume的调用顺序

作者头像
全栈程序员站长
发布于 2022-08-22 05:58:26
发布于 2022-08-22 05:58:26
1.2K0
举报

大家好,又见面了,我是你们的朋友全栈君。

Android在界面跳转的时候,比如从Activity A 跳回 Activity B,并不是先执行A的onDestroy,而是执行完A的onPause之后就立即跳回Activity B里的onResume。在执行了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是已经加密过的)。那么,如果加密函数不和解密函数等价的话,且二次解密不会使视频回复到原视频的话,则这个视频经过二次解密,就已经成为废视频了。

所以,对时间要求和Activity是否获取焦点密切相关的操作,不能放在onCreate和onDestroy里,而应该考虑放在onResume和onPause里。而像上述举的例子,如果是使用surfaceView来播放视频的话,也可以考虑在surfaceHolder.addCallback里的new Callback()的实现中的surfaceCreated和surfaceDestroyed两个函数里分别实现。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137352.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月5,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Android四大组件之Activity
1、 Activity 就是有界面的Android 程序的基础,比如只要是有界面的android 软件都是由活动在运行。没有活动的程序,你是看不到界面的,看不到的程序,也有他的用处,比如广播,服务等后台就可以运行的
CRMEB商城源码
2022/07/05
5930
写给小白的android基础面试笔试题(一)
序言:由于公司的某些方面原因,LZ最近都处于找工作的状态,年关了,最关键的LZ还只是个没毕业的孩子,所以工作越来越不好找了,到哪里投简历都是动不动就好几年经验,这让我们这些没经验的渣渣还怎么活啊!好了,也不吐槽那么多了,这几天到处去投简历,到处去面试,培训机构,外包公司这些都经历了个遍,总结了一下面试的时候的面试笔试题(如有错误,请及时纠正)
用户2802329
2018/08/07
9360
android开发艺术探索学习 之 Activity的生命周期
http://blog.csdn.net/lxk_1993/article/details/50731594
103style
2022/12/19
2190
android开发艺术探索学习 之 Activity的生命周期
Android面试常问基础知识点(附详细解答)
1)Activity:用户可操作的可视化界面,为用户提供一个完成操作指令的窗口。一个Activity通常是一个单独的屏幕,Activity通过Intent来进行通信。Android中会维持一个Activity Stack,当一个新Activity创建时,它就会放到栈顶,这个Activity就处于运行状态。 2)Service:服务,运行在手机后台,适合执行不需和用户交互且还需长期运行的任务。 3)ContentProvider:内容提供者,使一个应用程序的指定数据集提供给其他应用程序,其他应用可通过ContentResolver类从该内容提供者中获取或存入数据。它提供了一种跨进程数据共享的方式,当数据被修改后,ContentResolver接口的notifyChange函数通知那些注册监控特定URI的ContentObserver对象。 如果ContentProvider和调用者在同一进程中,ContentProvider的方法(query/insert/update/delete等)和调用者在同一线程中;如果ContentProvider和调用者不在同一进程,ContentProvider方法会运行在它自身进程的一个Binder线程中。 4)Broadcast Receiver: 广播接收者,运用在应用程序间传输信息,可以使用广播接收器来让应用对一个外部事件做出响应。
Demo_Yang
2019/04/01
2.8K0
Android面试常问基础知识点(附详细解答)
Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解
大家好,我是 Vic,今天给大家带来Android开发工程师文集-Activity生命周期,启动方式,Intent相关介绍,Activity详细讲解的概述,希望你们喜欢
达达前端
2019/07/03
6940
Android开发:5分钟解析Activity&Fragment生命周期
本文将对Android开发中的Activity&Fragment生命周期进行全面解析
Carson.Ho
2019/02/22
1.8K0
精选Android中高级高频面试题:四大组件及Fragment原理
延伸:从整个生命周期来看,onCreate和onDestroy是配对的,分别标识着Activity的创建和销毁,并且只可能有一次调用; 从Activity是否可见来说,onStart和onStop是配对的,这两个方法可能被调用多次; 从Activity是否在前台来说,onResume和onPause是配对的,这两个方法可能被调用多次; 除了这种区别,在实际使用中没有其他明显区别;
Android技术干货分享
2020/04/21
2K0
精选Android中高级高频面试题:四大组件及Fragment原理
[android] surfaceview的生命周期
SurfaceView控件在内部维护了一个双缓冲的技术,使用两个线程进行解析帧和显示到界面上
唯一Chat
2019/09/10
1.3K0
android之activity的生命周期详解
刚在看mars老师的视频,看到activity的生命周期,就看了一下,总结了一下.下面是各函数的调用时机
全栈程序员站长
2022/07/20
6220
android之activity的生命周期详解
字节Android工程师都在学习的Activity与Activity调用栈,你都学习了?
以下几种情况下,Activity的生命周期会发生异常 1,资源相关的系统配置发生改变 比如,旋转屏幕,在默认状态下,Activity就会被销毁并且重新创建。
te大大
2021/11/16
4510
Android面试题总结【完整详细版本”一”】(含答案)
Service的生命周期:首先Service有两种启动方式,而在这两种启动方式下,它的生命周期不同。
全栈程序员站长
2022/08/26
1.2K0
Android面试题总结【完整详细版本”一”】(含答案)
Android基础部分再学习---activity的生命周期
2.每个生命周期我们应该做怎么样的处理:每个方法保留的时间有多久;那个方法是活动阻塞的,他没有做完,别的人做不了;那个方法让我们暂时回收内存,避免内存泄露等等
wust小吴
2019/07/08
9390
Android开发笔记(一百五十九)Android7.0的分屏模式
现在的手机屏幕越来越大,使得在屏幕上同时开多个窗口不再奢侈,因此Android从7.0开始顺势推出了分屏功能,也被称作多窗口模式。比如把竖长的手机屏幕分成上下两个窗口,一边在上面的窗口中观看电影,一边在下面的窗口中聊天,可谓娱乐、工作两不误。那么分屏功能需要开发者进行哪些适配工作呢?接下来就详细阐述如何开关分屏模式,以及在编码的时候有哪些注意的地方。 首先准备一部Android7.0及以上版本的手机,按下屏幕底部的任务键,此时屏幕下方会弹出一排的任务列表。这个任务界面仿佛跟低版本的手机没什么不同,再瞅瞅屏幕上方有没有什么异样,是不是在左上角看到了一个“分屏模式”的按钮?
aqi00
2019/01/18
1.6K0
使用Android MediaPlayer播放媒体文件
我们平时利用Android手机娱乐最常见的方式莫过于听歌和看电影了,当然还有玩游戏,当然,这里我要说的是针对Android对于媒体文件播放的支持。Android里面提供了MediaPlayer类来播放媒体文件,下面来看一下怎样用MediaPlayer对象来播放媒体文件: 一般来说,用MediaPlayer类来播放媒体文件有以下几个步骤:
指点
2019/01/18
2.7K0
使用Android MediaPlayer播放媒体文件
【Android】期末选择题和判断题
1 关于sendBroadcast()方法说法正确的是( A ) A、该方法是发送一条无序广播 B、该方法是发送一条有序广播 C、该方法即是发送有序广播也可以发送无序广播 D、以上说法都不正确
天天Lotay
2022/12/02
1.5K0
常见Android面试题及答案(详细整理)
以下是一些常用的Android面试题及答案,有需要没需要都可以备着,希望能帮到大家。
全栈程序员站长
2022/08/31
3K0
Activity三问—猫眼真题
Activity算是我们使用最多也是最基础的内容了。但是为什么面试还会频频问到呢?即使是面试高级Android职位。说到底还是因为他足够重要,万丈高楼平地起,打好基础永远都是第一位的。今天就聊聊关于Activity的一些知识点:
码上积木
2020/09/27
5550
推荐阅读
相关推荐
Android四大组件之Activity
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档