快看!听说Android有四大法宝!

发表于:2017-10-31 11:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Pengyue 搜狗测试    来源:51Testing软件测试网采编

  哈喽,艾瑞巴蒂,小编又在一个新的周二和大家见面了,古代有四大发明术:造纸术、指南针、火药、活字印刷术,亚洲有四大邪术:泰国变性术、韩国整容术、日本化妆术、中国PS术,那Android 的四大组件有多少同学知道呢?和小编一起探索下吧~
  什么是Activity?
  Activity是Android一个非常重要的用户接口(四大组件之一),是可见的,主要是用户和应用程序之间进行交互的接口。在每个Activity中都可以放很多控件,所以也可以把Activity看作控件的容器。
  什么是生命周期?
  onCreate:主要执行初始化工作,比如用setContentView加载布局界面
  onStart:Activity由不可见变为可见,但是不在前台,不可以与用户进行交互
  onResume:使Activity位于返回栈的顶端,并出现在前台,可与用户进行交互
  onRestart:Activity的重启,由不可见变为可见
  onPause:表明Activity正在停止,正常情况下onStop会紧接着调用。但是也有特殊情况,若这个时候需要快速的挥刀当前Activity,那么onResume也会被调用。这个方法的执行一定要快,不然会影响栈顶的Activity的使用。
  onStop:Activity由部分不可见变为完全不可见,可做一些重量级的回收工作,同样不能很耗时。
  onDestory:销毁Activity并释放资源。
  其中onCreate和onDestory为完整的生命周期,onStart和onStop为可见生命周期,onResume和onPause为前台生命周期。
  ADB查看运行的Activity生命周期
  adb shell dumpsys activity activities
  打开APP
  点击访问新闻详情页面
  Ps:通过运行adb命令可以清晰的看到一个APP在运行过程中Activity的生命周期,以”今日热点头条”APP为例,通过上图我们可以看到,首先Runing Activites是.MainActivity,当我点击Item后跳转页面时,分别运行新的Activity:mResumedActivity:.mainUI.WebActivity,暂停上一个Activity,mLastPause:.MainActivity。
  踩过的坑?
  问题现象:
  当两个Activity重叠显示,测试时发现在上层Activity进行滑动操作时,下层的Activity却响应了这个事件。
  分析原因:
  第一个Activity执行onCreate()->onStart()->onResume后,当第二个Activity弹出后第一个Activity执行了onPause()方法,未执行onStop()方法,所以在上层Activity执行滑动操作时,下层的Activity会响应。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号