Android-一些问题
分类:
文章
•
2022-11-10 00:23:46
存储方式
- SharedPreferences
- SqLite
- Content Provider
- 文件
- 网络
服务Service
- 继承Service类
- 配置
- 启动
广播
- 定义广播接收器,继承BroadcastReceiver
- 注册广播事件
- 发送广播
- 设置接受广播的处理函数
线程
-
Handle:接受和处理信息
-
Message:Handle接受和处理的消息对象
-
MessageQueue:消息队列,采用队列方式管理消息,程序创建Looper对象时,会在其构造器内创建MessageQueue对象。
-
Looper:每个线程都有且只有一个Looper对象,负责从MessageQueue中读取消息(即管理MessageQueue)。
- 关于Looper对象的创建
- 主线程:主线程中系统会初始化一个Looper对象,直接使用Handle即可
- 子线程:分别使用 prepare和loop方法来创建和启动Looper对象
内存
- 内存溢出:软件需要的内存大于它可获得的内存
- 内存泄露:软件对内存空间使用后没有完全释放
Java虚拟机和 Dalvik虚拟机
-
Java虚拟机:是一个运行Java字节码的虚拟机进程。Java源程序先被Javac编译器编译成.class字节码文件(该字节码文件是与平台无关的),之后JVM再运行字节码文件。
-
Dalvik虚拟机:运行其专有文件格式dex,即DEX工具将.class文件转换成dex文件,之后Dalvik虚拟机再运行dex文件。
- JVM基于栈,Dalvik基于寄存器

- Dalvik系统架构
- 应用程序
- 应用程序框架
- 本地库
- Android运行时
- Linux内核
自定义View
- 设置View布局文件
- 继承ViewGroup子类,设置View属性
- 像自带空间一样正常使用