- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程师面试题
Android工程师面试题
protected void onCreateBundle savedInstanceState;
protected void onStart;
protected void onResume;
protected void onPause;
protected void onStop;
protected void onDestroy;
你自己写的Activity 会按需要
重 载这些方法,onCreate 是免不了的,在一个Activity 正常启动的过程中,
他们被调用的顺序是 onCreate - onStart -onResume, 在Activity 被干掉的
时候顺序是onPause- onStop- onDestroy ,这样就是一个完整的生命周期,
但是有人问了
,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的
一个Activity 是全屏的那么:onPause-onStop ,恢复的时候
onStart-onResume ,如果打断
这个应用程序的是一个Theme 为Translucent 或者Dialog 的Activity 那么只
是onPause ,恢复
的时候onResume 。
详细介绍一下这几个方法中系统在做什么以及我们应该做什么:
onCreate:
在这里创建界面,做一些数据的初始化工作 onStart:
到这一步变成用户可见不可交互的 onResume:
变成和用户可交互的,(在 activity 栈系统通过栈的方式管理这些个Activity
的最上面,运行完弹出栈,则回到上一个Activity onPause:
到 这一步是可见但不可交互的,系统会停止动画等消耗CPU 的事情从上文的描
述已经知道,应该在这里保存你的一些数据,因为这个时候你的程序的优先级降
低,有可能被系统收回。在这里保存的数据,应该在 onResume里读出来,注意:
这个方法里做的事情时间要短,因为下一个activity 不会等到这个方法完成才
启动 onstop:
变得不可见,被下一个activity覆盖了 onDestroy: 这是activity被干掉前最后一个被调用方法了,可能是外面类调
用 finish方法或者是系统为了节省空间将它暂时性的干掉,可以用
isFinishing来判断它,如果你有一个Progress Dialog 在线程中转动,请在
onDestroy里把他cancel掉,不然等线程结束的时候,调用Dialog 的cancel
方法会抛异常的。
onPause,onstop, onDestroy,三种状态下 activity 都有可能被系统干掉为
了保证程序的正确性,你要在onPause里写上持久层操作的代码,将用户编辑
的内容都保存到存储介质上(一般 都是数据库)。实际工作中因为生命周期的
变化而带来的问题也很多,比如你的应用程序起了新的线程在跑,这时候中断了,
你还要去维护那个线程,是暂停还是杀 掉还是数据回滚,是吧?因为Activity
可能被杀掉,所以线程中使用的变量和一些界面元素就千万要注意了,一般我都
是采用Android 的消息机制 [Handler,Message]来处理多线程和界面交互的问
题。这个我后面会讲一些,最近因为这些东西头已经很大了,等我理清思绪再跟
大家分享。
二 让Activity 变成一个窗口:Activity 属性设定 讲点轻松的吧,可能有人希望做出来的应用程序是一个漂浮在手机主界面的东
西,那么很 简单你只需要设置一下Activity 的主题就可以了在
AndroidManifest.xml 中定义 Activity 的地方一句话: Xml代码 android
:theme@android:style/Theme.Dialog android:theme@android:style/Theme.Dialog
这就使你的应用程序变成对话框的形式弹出来了,或者 Xml 代码 android:theme@android:style/Theme.Translucent
android:theme@android:style/Theme.Translucent
就 变成半透明的,[友情提示-.-]类似的这种activity 的属性可以在
//.leable 类的AndroidManifestActivity 方法中看到,
AndroidManifest.xml 中所有元素的属性的介绍都可以参考这个类
//.leable
上面说的是属性名称,具体有什么值是在//.le 中
可以看到,比如这个@android
您可能关注的文档
最近下载
- 2025-2026年国家公务员考试《申论》真题及参考答案.doc VIP
- 川教版(2019)初中信息科技Python编程复习单.docx VIP
- DTII(A)带式输送机计算书(带表1-4)Ver1.2(95版)(2012.12.18).xls VIP
- 医疗器械经营财务管理培训.pptx VIP
- 麻醉前肺功能评估.ppt VIP
- 新课标体育与健康水平二教案.pdf VIP
- 贵州教育出版社小学五年级上册综合实践教案.pdf VIP
- 博物馆学概论课件:博物馆藏品管理历史、藏品意义与藏品研究.pptx VIP
- 2025高中政治部编版选择性必修二《法律与生活》必背法律条文.pdf VIP
- SEO培训课件教学课件.pptx VIP
文档评论(0)