Android知识点总结

2018-01-31  本文已影响0人  wangling90

Touch事件传递流程:

Android源码设计模式
Android源码设计模式

单例模式
作者:Mr.Simple

Builder模式
作者:Mr.Simple

外观模式
作者:elsdnwnMr.Simple

模板方法
作者:Mr.Simple

适配器模式
作者:Mr.Simple

观察者模式
作者:Mr.Simple

策略模式
作者:GKerison

代理模式
作者:singwhatiwanna

迭代器模式
作者:Haoxiqiang

责任链模式
作者:AigeStudio

命令模式
作者:lijunhuayc

桥接模式
作者:shen0834

原型模式
作者:Mr.Simple

多线程:

线程同步问题
解决同步问题的方法 使用synchronized方法 同步代码块
Android线程间交互(Java synchronized & Android Handler)
单例

public class Singleton{
     private volatile static Singleton mSingleton;
         private Singleton(){
     }
     public static Singleton getInstance(){
         if(mSingleton == null){\\A
             synchronized(Singleton.class){\\C
                   if(mSingleton == null)
                   mSingleton = new Singleton();\\B
            }
         }
        return mSingleton;
     }
}

什么情况导致oom
Android内存优化之OOM
什么情况导致内存泄漏-美团

优化自定义view百度
优化自定义view百度-乐视-小米

RxJava的机制是什么
RxJava是使用的Java语言,以响应式编程思维来进行编程的Java类库。

ButterKnife的机制是什么
Java Annotation Processing技术,在Java代码编译Java字节码的时候,已经处理了@Bind、@OnClick (ButterKnife还支持很多其他的注解)这些注解。

Annotation processing 是javac中用于编译时扫描和解析Java注解的工具。Annotation processing是在编译阶段执行的,它的原理就是读入Java源代码,解析注解,然后生成新的Java代码。新生成的Java代码最后被编译成Java字节码,注解解析器(Annotation Processor)不能改变读入的Java 类,比如不能加入或删除Java方法。

Android开发常用的网络请求框架:OkHttp、Volley、XUtils、Retrofit对比

总结
综上,如果以上三种网络库你都能熟练掌握,那么优先推荐使用Retrofit,前提是最好你们的后台api也能遵循RESTful的风格, 其次如果不想使用或者没能力掌握Retrofit ,那么推荐使用Volley ,毕竟Volley不需要做过多的封装,如果需要上传大数据, 那么不建议使用 Volley,该采用 OkHttp

String、StringBuffer与StringBuilder的区别

Java的四种引用的区别

请介绍AsyncTask的内部实现,适用的场景是

请解释什么叫TCP和UDP

上一篇 下一篇

猜你喜欢

热点阅读