LruCache
的基本思想是Least Recently Used(最近最少使用):
https://www.jianshu.com/p/7d0522e97fc2
byte
、short
、int
、long
、float
、double
、char
、boolean
。在 (1) JAVA 基本数据类型与引用数据类型 一文中总结了这两者的区别:
基本数据类型 | 引用数据类型 |
---|---|
变量名指向具体的数值 | 变量名指向存数据对象的内存地址,即变量名指向hash值 |
变量在声明之后就会立刻分配给他内存空间 | 它以特殊的方式指向对象实体,这类变量声明时不会分配内存,只是存储了一个内存地址 |
基本类型之间的赋值是创建新的拷贝 | 对象之间的赋值只是传递引用 |
“==”和“!=”是在比较值 | “==”和“!=”是在比较两个引用是否相同 |
使用时需要赋具体值,判断时使用==号 | 使用时可以赋值nul |
equals()和==的区别:
一、对象类型不同
1、equals():是超类Object中的方法。
2、==:是操作符。
二、比较的对象不同
1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。
2、==:用于比较引用和比较基本数据类型时具有不同的功能。
总结:== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。
activity生命周期,栈,状态保存:https://www.jianshu.com/p/fd82d18994ce
oncreate 就代表了初始化。 所以所有的控件都要在 oncreate 里面初始化。onresume 里面去执行初始化后被展示的时候要进行的行为操作。
onCreate(xxx)
初始化,onResume()
注册、拉取展示数据,onPause()
反注册,onDestroy()
释放资源。
activity栈模式 设置:intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);或者在mannifist文件设置;
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);