1.Activity 是安卓的核心类(android.app.Activity) 在 Activity 类中有 onCreate 事件方法,一般用于 对 Activity 进行初始化,并且通过 SetContentView( ) 方法 将View 绑定在 Activity 上。绑定后,Activity 会显示在 View 上的 控件。
2.在MainActivity 中 ,一些方法:
a. onCreate( ) 是创建窗体的 入口函数。
b. onCreateOptionsMenu () 是创建当前 Activity 菜单函数。
c. onOptionsItemSelected( ) 是 响应 菜单按钮的点击事件函数。
d. PlaceOlderFragment 内部类 是 实现 自定义 Fragment.
3.子线程不能更新 UI,只有主线程才能更新UI.
4.主线程不能做耗时操作,主线程不能做联网操作。
5. Looper 是 Android 为线程间异步消息通信提供的 一种机制。
6.handler : 线程通信工具类,用于传递信息。
1.消息队列 2.线程队列
7.AsyncTask 异步任务
它允许我们在子线程 执行耗时任务,在UI 线程里面更新 操作。
即: 帮助我们 做好了 子线程与UI线程 的通讯,我们只需要调用响应的方法 实现即可。
8.回调函数 : A类 调用 B 类中 方法C,
B类 反过来调 A类中 方法D.(方法D即回调函数)。
9. 出现错误提示:
DexArchiveMergerException: Unable to merge dex 异常
可能是两个依赖的包发生冲突。
10.java 并发编程
Executor 框架 之Callable 和 Future 接口。
Callable 接口:这个接口声明 call() 方法,类似于 Runnable 的 run() 方法。可以在call() 方法中 实现任务的 具体逻辑操作。
注意: callable 是一个 泛型接口, 必须声明 call() 返回值。
Future 接口 : 这个接口 声明了一下 方法来获取 Callable 的返回数据。
11.Android 程序入口:ActivityThread
ActivityThread 也有一个main方法,这个main() 方法是安卓应用程序 真正的入口。
主要作用 是 调度 和 执行 activities, broadcasts 和 其他操作。
在 Android 系统中,四大组件 默认都是运行在 主线程上面的。
12.多线程:
指的是 这个程序 (一个进程) 运行时候产生的线程不止一个。
13. 并行 与 并发
并行: 多个CPU 实例 或者多台机器同时 执行一段处理逻辑,是真正的同时。
并发: 通过CPU 调度 算法,让用户看上去同时执行,实际上 从CPU 的操作层面上来说 并不是真正的同时。
(1)CPU
PC端:
中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和 控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及 实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出 (I/O) 设备合称为电子计算机三大核心部件。
手机端 :
它是整台手机的控制中枢系统,也是逻辑部分的控制中心。
微处理器 通过运行存储器内 的软件 及调用存储器 内的数据库,达到控制的目的。
(2)线程安全:
经常被用来描绘一段代码,指在并发的情况下,该代码 经过多线程使用,线程的调度顺序不影响任何结果。
这个时候使用多线程,我们只需要关注 系统内在CPU 是不是够用。
(3) 同步
Java 中 同步 指的是 通过人为控制 与调度,保证共享资源 的多线程 访问称为线程安全,来保证结果的准确。