app一点一滴的学习

一、注解

  1.Retention : 定义注解保留的时间

  • RetentionPolicy.SOURCE 注解只保留在源码,在编译器进行编译时会被忽略
  • RetentionPolicy.CLASS 注解由编译器保存在class文件中,但不需要在运行时由VM保留,无法通过反射读取,这是默认的策略。
  • RetentionPolicy.RUNTIME 注解由编译器保存在class文件中,并在运行时由VM保留,可以通过反射读取。

  2.Target  : 修饰对象的范围

  • ElementType.TYPE:允许被修饰的注解作用在类、接口和枚举上
  • ElementType.FIELD:允许作用在属性字段上
  • ElementType.METHOD:允许作用在方法上
  • ElementType.PARAMETER:允许作用在方法参数上
  • ElementType.CONSTRUCTOR:允许作用在构造器上
  • ElementType.LOCAL_VARIABLE:允许作用在本地局部变量上
  • ElementType.ANNOTATION_TYPE:允许作用在注解上
  • ElementType.PACKAGE:允许作用在包上

  3.Documented :

  4.Inherited :

二、MVP的架构学习

  1.作用:便于后期的代码维护的重用,防止内存泄漏(主要是对象忘记释放)

  2.MVP架构由MVC发展而来。在MVP中,M代表Model,V代表View,P代表Presenter。

   Model 负责获取数据,数据的来源可以是网络或本地数据库等;

   View 负责界面数据的展示,与用户进行交互;

   Presenter 是Model与View之间的通信的桥梁,将Model与View分离开来。

  3.搭建一套MVP架构框架:

   a.中介者设计模式

   b.Base基类的设计

   c.静态代理生命周期

   d.P层的安全、内存友好设计

   e.APT在MVP框架中应用,提高车速

  三、设计模式

    1.模板方法  : 在父类写出抽象的方法,子类必须继承

    2.观察者

    3.静态代理

    4.中介者

    5.建造者  :  可以返回该函数的对象,实现多层连点的方式

    

  四、注解的学习

    1.@IntDef 来代替枚举

    2.@Retention(RUNTIME)      @Target(TYPE)

 

六、网络的学习
  1. http 1.0 和 1.1和2.0的区别
    1.0 : 每个TCP只能连接一次,为了解决这个问题使用Connection : keep-alive
    1.1 : 引用持久连接,可以复用TCP的链接,处理数据都是按顺序处理的 
    2.0 : 客户端和浏览器可以同时发送请求或回应,双向实时通信。


https://www.jianshu.com/u/8e0b3281887a  ------->值得观看的网址













原文地址:https://www.cnblogs.com/liunx1109/p/11379557.html