ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:158.45KB ,
资源ID:14459948      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14459948.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android面试基础知识总结Word下载.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android面试基础知识总结Word下载.docx

1、在Activity第一次被创建的时候被调用。这里是你做所有初始化设置的地方创建视图、绑定数据至列表等。如果曾经有状态记录(参阅后述SavingActivityState。),则调用此方法时会传入一个包含着此activity以前状态的包对象做为参数否onStart()在Activity正要变得为用户所见时被调用。数据刷新时候调用!当Activity转向前台时接着调用onResume()在Activity变为隐藏时接着知行onStop()onResume()onStop()在Activity开始与用户进行交互之前被调用。此时Activity位于堆栈顶部,并接收用户输入。onPause()Activ

2、ity runActivity开始运行onPasue()当系统将要启动另一个 Activity时调用。此方法主要用来将未保存的变化进行持久化,停止类似动画这样耗费CPU的动作等。这一切动作应该在短时间内完成,因为下一个Activity必须等到此方法返回后才会继续。当Activity重新回到前台会执行onResume()【弹出对话框】。当Activity变为用户不可见时会执行onStop()。是当Activity不再为用户可见时调用此方法。这可能发生在它被销毁或者另一个Activity(可能是现存的或者是新的)回到运行状态并覆盖了它。如果Activity再次回到前台跟用户交互则执行onResta

3、rt().如果关闭Activity则执行onDestroy()onRestart()onDestroy()在Activity销毁前调用。这是Activity接收的最后一个调用。这可能发生在Activity结束(调用了它的finish()方法)或因为系统需要空间所以临时的销毁了此Activity的实例时。可以用isFinishing()方法来区分这两种情况。已经完蛋了,还调用毛线!1.3.2其他中转方法在Activity停止后,在再次启动之前被调用。之后执行onStart().1.4Activity启动模式1.4.1四种启动模式standard默认模式,可以不用写配置。在这个模式下,都会默认创建

4、一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。singleTop可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。singleTask只有一个实例。在同一个应用程序中启动它的时候,若Activity不存在,则会在当前task创建一个新的实例,若存在,则会把task中在其之上的其它Activity destory掉并调用它的onNewIntent方法。如果是在别的应用程序中启动它,则会新建一个task,并在该task中启动这

5、个Activity,singleTask允许别的Activity与其在一个task中共存,也就是说,如果我在这个singleTask的实例中再打开新的Activity,这个新的Activity还是会在singleTask的实例的task中。singleInstance只有一个实例,并且这个实例独立运行在一个task中,这个task只有这个实例,不允许有别的Activity存在。1.4.2配置样例1.5Activity启动方法1)在一个Activity中调用startActivity()方法。直接启动Activity,不带请求码。2)在一个Activity中调用startActivityForR

6、esult()方法。带请求码启动Activity。1.6请求码与响应码请求码(RequestCode)在一个业务中可能在两个按钮被单击事件中打开同一个Activity,但我们在onActivityResult事件中如何判断是哪个按钮打开了新的Activity?请求码就是为解决这个问题的,那么我们打开新的Activity时应该使用startActivityForResult(intent, 1);。其中的第二个参数就是请求码。结果码(ResultCode)在一个业务中可能要打开多个不同的Activity,那关闭Activity时在onActivityResult事件中我们如何知道关闭的是哪一个A

7、ctivity呢?结果码就是为解决这个问题的,那么我们打开新的Activity时应该使用setResult(2, intent);或在关闭Activity前调用ActivityObj.setResult(2);其中的第一个参数就是结果码。在onActivityResult事件中,通过判断resultCode更可知道是哪个Activity被关闭了。2BroadcastReceiver2.1概念BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。2.2应用场景在Android系统中,广播体现在方方面面:eg:1.当开机完成后系统会产生一条广

8、播,接收到这条广播就能实现开机启动服务的功能;2.当锁屏或者点亮屏幕时就会产生一条广播,接收这条广播就可以实现一些暂停或者开启一些耗电进程的功能。3.当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;4.当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度;2.3注册2.3.1静态注册2.3.1.1概念静态注册是在AndroidManifest.xml文件中配置的。2.3.2动态注册2.3.2.1概念动态注册需要在代码中动态的指定广播地址并注册。2.3.2.2需要注意的事项RegisterReceiver是android.c

9、ontent.ContextWrapper类中的方法,Activity和Service都继承了ContextWrapper,所以可以直接调用。在实际应用中,我们在Activity或Service中注册了一个BroadcastReceiver,当这个Activity或Service被销毁时如果没有解除注册,系统会报一个异常,提示我们是否忘记解除注册了。所以,需要在特定的地方执行解除注册操作:生命周期的onDestroy()。有部分广播接受者,涉及到用户的敏感内容,需要在权限文件中声明。如开机完成的广播,用户电量变化的广播,用户网络状态发生改变的广播2.3.3生命周期1.广播接收者的生命周期是非常

10、短暂的,在接收到广播的时候创建,onReceive()方法结束之后销毁2.广播接收者中不要做一些耗时的工作,否则会弹出Application No Response错误对话框3.最好也不要在广播接收者中创建子线程做耗时的工作,因为广播接收者被销毁后进程就成为了空进程,很容易被系统杀掉4.耗时的较长的工作最好放在服务中完成3Service3.1概念服务是看不到界面的,,就是一个没有界面的Activity, 并且长期在后台运行的一个组件.。3.2为什么用服务?进程优先级, 回收时是从51, 从低到高Foreground process 前台进程Visible process 可视进程Service

11、 process 服务进程Background process 后台进程Empty process 空进程回收的优先级: 先回收空进程, 一个一个回收的, 当内存够用时, 不再回收空进程. 如果空进程回收完毕后, 内存还是不够用时, 继续向上一个一个的回收后台进程. 依次类推.当系统内存不够用时, 需要回收服务进程时, 当系统内存又够用时, 会重新启动服务. 当用户去手动的把服务关闭时, 服务不会再重启了3.3作用由于ANR对Activity和BroadcastReceiver响应时间的限制(Activity对事件响应不超过5秒,BroadcastReceiver执行不超过10秒),使得在其中

12、都不适合执行较耗时操作,这样像网络、数据库、复杂计算这类耗时操作的执行就需要一个组件来承担。Service作为Android四大组件之一,其功能之一就是耗时操作的执行,主要功能如下:a. 执行需要长时间运行的操作,这个操作不与用户进行交互,如网络下载、大文件I/O、复杂计算、监听手机状态。b. 应用内或应用间数据通信,Android每个应用程序都在自己的dalvik虚拟机中运行,一个应用是不允许访问其他应用的内存信息的,为此Android引入了Content Provider在不同应用间共享数据,BroadcastReceiver广播信息给不同应用程序,但Content Provider更多用

13、于数据的共享,BroadcastReceiver广播的信息会被所有应用接收较耗费系统资源,对于两个应用间动态的进行交互还需要通过Service来完成。3.4启动方式3.4.1直接启动Activity开启完服务后就不管服务了. Activity和服务没有关系. startService开启的服务,只有stopService可以关闭3.4.2绑定启动绑定服务, 生命周期方法会执行: onUnbind - onDestory 服务销毁了.在activity中调用service中的方法.步骤:调用bindService方法绑定服务1.在Activity中定义一个连接桥的内部类, 会在bindService方法传递给service.2.在service服务中onBind方法中返回一个IBinder接口对象.3.在service类中定义一个IBinder的内部实现类, 在onBind方法返回.4.当onBinder方法返回完对象后, activity中连接桥里的onServic

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1