1.活动的启动模式
四种:standard、singleTop、singleTask、singleInstance
standard:默认模式,每次启动都会创建该活动的一个新实例。
singleTop:在启动活动时如果发现返回栈的栈顶已经是该活动,则直接使用它,不创建新的实例。
singleTask:若返回栈中以存在该活动的实例,则直接使用该实例,并把这个活动之上的所有活动统统出栈,如果没有则创建一个新实例。
singleInstance:启用一个新的返回栈来管理这个活动。解决共享活动的问题。
2.活动的生命周期
首次开启:
onCreate()-->onStart()-->onResume()-->onPause()-->onStop()-->onDestory()
再次开启:
onStop()--.onRestart()-->onStart()-->onResume()--onPause()-->onStop()-->onDestory()
1.服务的生命周期
首次开启:(不绑定活动)
onCreate()-->onStartCommand()-->(onBind())(调用bindService()的时候调用)-->(onUnbind())(调用bindService()的时候调用)-->onDestory()
首次开启:(绑定活动)
onCreate()-->onBind()-->onUnbind()-->onDestory()
再次开启:(绑定活动)
onRebind()-->onUnbind()-->onDestory()
2.IntentService服务的生命周期
(构造函数)-->onCreate()-->onStartCommand()-->onHandleIntent()(此处处理异步请求)-->onDestory()
1.HTTP的请求方法
四种:GET、POST、PUT、DELETE。
一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。
2.HTTP协议结构
请求行、请求头、空行、消息主体。
请求行:请求方法、地址、版本。
请求头:定义服务端和客户端交流的数据结构等。
空行:HTTP协议规定。
消息主体:需要传送的数据,一般由请求头定义消息主体的格式内容。
3.HTTP、socket的区别与关系
区别:
HTTP:应用层的协议,简单的对象访问协议。
TCP:传输层的协议
TCP/IP协议主要解决数据如何在网络中传输,HTTP协议主要解决如何包装数据。
socket是TCP/IP协议的封装,通过socket我们才能使用TCP/IP协议。
创建socket链接时,可以指定使用的传输层协议。当使用TCP协议(而不是UDP协议)时,socket链接就是一个TCP链接。
1.View与ViewGroup的关系
view是所以ui控件的父类。
1.fragment的生命周期
1.comparable和comparator的区别
comparable是排序接口,comparator是比较接口。
1.java 7个基本数据结构
枚举接口(Enumeration)、位集合类(BitSet)、向量类(Vector)、栈类(Stack)、字典类(Dictionary)、哈希表类(Hashtable)、属性类(Properties)。
1.单例模式的九种写法以及优缺点
布局优化
1.merge,include,ViewStub的作用?
include实现代码复用。通过编写公共组件,再使用include引入的形式实现代码复用。
merge解决include的多余布局嵌套问题。
ViewStub实现懒加载。
1.如何提高进程存活?
思路:提高进程优先级;在进程被干掉的时候,进行拉起。
1.模块化、组件化、插件化、热更新(热修复)的概念?
模块化:
相较于包开发,模块化开发更灵活,耦合度低,想引入哪个引入哪个,根据不同的关注点,将一个项目的可以共享的部分抽取出来,形成新的独立的组件(module),就是模块化(公共模块);另外,按业务功能划分编写组件(module)也是模块化开发的一种(业务模块)。
组件化:
组件化是建立在模块化思想上的一次演进,一个变种。
组件化是模块化的概念,但组件化包含一个新概念:可转换性。
组件化开发中,每一个模块都可以独立运行。
插件化:
插件化也是模块化的一个变种。
插件化实现的是一个完整的应用。(组件化仍然与其他组件有交互,插件化没有)
插件化是将不同APK整合在一起。
热更新(热修复):
热更新是动态修改已有的代码。
网友评论