美文网首页
android知识,自问,自答

android知识,自问,自答

作者: ambe_gzy | 来源:发表于2019-03-31 16:27 被阅读0次

    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整合在一起。

    热更新(热修复):

    热更新是动态修改已有的代码。

    相关文章

      网友评论

          本文标题:android知识,自问,自答

          本文链接:https://www.haomeiwen.com/subject/vidomqtx.html