今天接到一个电话面试,就问了一个问题,说:你详细说一下生命周期中onPause。

这肯定是学习Android的第一课,但是面试官问我这个问题明显是问我深度而不是广度,我只是简单地回答了一句,是可见但不可操作的,我觉得我GG了,赶快上来学习。

当系统调用activity的onPause()时,

虽然从技术角度来讲你的activity是可见的,但是更通常这也预示着用户会离开这个activity,然后你的activity会进入stop状态。

基于这种实际情况,通常你应该在onPause()方法里面做如下事情:

1.停止一切动画效果,或者其他消耗cpu的行为。

2.在离开之前提交未被保存改动,你应该只保存那些用户认为应该保存的数据,比如在邮箱应用中,用户正在向文本输入框中写入文字,那么这种改动 被保存下来才显得合理。

3.释放系统资源,比如广播接受者,传感处理器(gps等),或者其他影响电池消耗的东西,因为在pause状态下用户并不需要他们。

一般来说,你不要在onPause()中保存用户的改动(比如用户正在填写的私人信息的表格),只有当你确信用户希望自己修改的东西被保存的时候

比如刚刚提到的用户在写一封邮件的草稿。另外,在onPause中要避免发生cpu敏感的行为,比如写入数据库,这会影响切换到下一个activity的显示效果。

总之,在onPause中的操作都应该是非常简单的,低性能消耗的,确保在onStop()被调用时,用户向其他界面的切换是迅速流畅的。

android onpause时动画出错,Android生命周期之onPauseonStop相关推荐

  1. Android四大基本组件介绍与生命周期

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...

  2. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  3. 【Android】8.0活动的生命周期(一)——理论知识、活动的启动方式

    1.0 Android是使用任务(Task)来管理活动的,活动就像栈一样堆放着在一起. 每个活动的生命周期最多可能会有四种状态: 1.1 运行状态 位于栈顶 1.2 暂停状态 不在栈顶但在界面上仍处于 ...

  4. Android实验二:Activity的生命周期

    要求 设计如下界面,包括四个按钮,两个文本框.单击对应按钮可以启动对应activity.假 定Activity A为启动Activity. 部分代码 import androidx.appcompat ...

  5. Android开发之旅:组件生命周期(二)

    引言 应用程序组件有一个生命周期--一开始Android实例化他们响应意图,直到结束实例被销毁.在这期间,他们有时候处于激活状态,有时候处于非激活状态:对于活动,对用户有时候可见,有时候不可见.组件生 ...

  6. android生命周期home键,Android横竖屏切换, 手机锁屏以及按Home键和返回键时的Activity的生命周期...

    用手机做了实验,结果如下: 竖屏切横屏会调用完整的生命周期: 03-09 17:08:35.170: I/MainActivity(14086): MainActivity Paused 03-09 ...

  7. 重温Android四大组件(一)—Activity的生命周期

    前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...

  8. Android学习之管理Activity的生命周期

    Activity生命周期 activity第一次启动的时候,它来到系统的前台,开始与用户交互.在此期间,Android系统调用了Activity生命周期中一系列的方法.如果用户执行启动了另一个acti ...

  9. android 获取活动栈,活动的生命周期系列(1)返回栈

    活动的生命周期系列(一)返回栈 生命周期对程序员很重要,特别当我们了解,就可以写出更流畅的程序,更好的来避规性能瓶颈,让我们的APP拥有更好的用户体验.接下来我们来分享一下"返回栈" ...

最新文章

  1. Python需求增速达174%,AI人才缺口仍超百万!这份来自2017年的实际招聘数据如是说
  2. 压缩目录Linux常用的几种文件压缩解压方法
  3. [Codeforces1137D]Cooperative Game
  4. 数据结构学习笔记(六):二叉树(Binary Tree)
  5. python requests用法总结
  6. 大顶堆删除最大值_C++|使用STL算法创建、调整、输出最大堆、最小堆
  7. get mysql options_mysql命令的选项options
  8. 钟薛高雪糕最贵一支66元 创始人:成本40 你爱要不要
  9. 【Java集合的详细研究4】Java中如何遍历Map对象的4种方法
  10. java打印出日历_java控制台打印本月的日历
  11. matlab r2014a 序列号,Matlab R2014a 免费版
  12. SQL语句设置标识种子
  13. C# 多线程六 事件 AutoResetEvent/ManualResetEvent 的简单理解与运用
  14. 华为freelace耳机修整详录
  15. IE下载文件无法弹出下载框
  16. 微信公众平台订阅号、服务号和企业号三者之间的区别与联系
  17. 【数模】数据统计中的峰度与偏度
  18. 文献简读——大肠中胰蛋白酶降解共生菌的鉴定【Identification of trypsin-degrading commensals in the large intestine】
  19. 卸甲归田——回顾CSP2019
  20. [XJTU计算机网络安全与管理]——第十三讲 攻击与病毒

热门文章

  1. 【★】Web精彩实战之智能迷宫
  2. 99. Recover Binary Search Tree (Tree; DFS)
  3. NSArray 过滤
  4. Js跨域请求jquery的jsonp方式
  5. oracle SQL性能优化
  6. python语言程序设计西安电子科技大学答案-徐悦甡 | 个人信息 | 西安电子科技大学个人主页...
  7. python代码写好了怎么运行视频-Python的初学者你现在可以自己“看”到代码的运行了!...
  8. python中怎么比较两个列表-Python3列表(list)比较操作教程
  9. python爬虫案例-python爬虫详细解析附案例
  10. python培训班有用吗-Python培训班哪家好?