Android 初级(待续)

  1. Android长连接,怎么处理心跳机制。
  • Android 消息处理机制(Handler、Looper、MessageQueue、Message)

  • 初·Handler、Looper、MessageQueue、Message 的关系

  • Android 消息处理机制

  • AIDL 实现

  • APP 启动过程

  • Activity 启动过程

  • View树绘制流程

    • Android View的绘制流程
  • 事件的传递机制

    • 图解 Android 事件分发机制
  1. 下拉刷新实现原理

  2. 你用过什么框架,是否看过源码,是否知道底层原理。
    Android主流网络请求开源库的对比

  3. Android 5.0,6.0,7.0特性

Android5.0新特性:
1.MaterialDesign设计风格
2.支持多种设备
3.支持64位ART虚拟机

Android6.0新特性
1.动态权限检测机制
2.大量漂亮流畅的动画
3.支持快速充电的切换
4.支持文件夹拖拽应用
5.相机新增专业模式

Android7.0新特性
1.分屏多任务
2.增强的Java8语言模式
3.夜间模式
4.fileProvider

  1. Context区别
  • Activity和Service以及Application的Context是不一样的,Activity继承自ContextThemeWraper.其他的继承自ContextWrapper
  • 每一个Activity和Service以及Application的Context都是一个新的ContextImpl对象
  • getApplication()用来获取Application实例的,但是这个方法只有在Activity和Service中才能调用的到。那么也许在绝大多数情况下我们都是在Activity或者Service中使用Application的,但是如果在一些其它的场景,比如BroadcastReceiver中也想获得Application的实例,这时就可以借助getApplicationContext()方法,getApplicationContext()比getApplication()方法的作用域会更广一些,任何一个Context的实例,只要调用getApplicationContext()方法都可以拿到我们的Application对象。
  • Activity在创建的时候会new一个ContextImpl对象并在attach方法中关联它,Application和Service也差不多。ContextWrapper的方法内部都是转调ContextImpl的方法
    创建对话框传入Application的Context是不可以的
  • 尽管Application、Activity、Service都有自己的ContextImpl,并且每个ContextImpl都有自己的mResources成员,但是由于它们的mResources成员都来自于唯一的ResourcesManager实例,所以它们看似不同的mResources其实都指向的是同一块内存
  • Context的数量等于Activity的个数 + Service的个数 + 1,这个1为Application

7.Gradle

构建工具、Groovy语法、Java
Jar包里面只有代码,aar里面不光有代码还包括代码还包括资源文件,比 如 drawable 文件,xml 资源文件。对于一些不常变动的 Android Library,我们可以直接引用 aar,加快编译速度

你可能感兴趣的:(Android 初级(待续))