- 博客(7)
- 收藏
- 关注
原创 LruCache详解
LruCache详解LruCache是什么LruCache是Android中实现LRU(Least recently used,最近最少算法)的一个类,在android-support-v4中提供,在API12以下可以使用suppoort包中的该类。LruCache把最近使用过的对象储存在LinkedHashMap中,并在缓存达到设定缓存最大值之前将最近最少使用的对象从内存中移除。它的核心思想是“如
2017-10-31 20:18:09 1176
原创 HashMap 原理详解
HashMap是什么HashMap是Java常用的用来储存键值对的数据结构,它是线程不安全的,可以储存null键值,这些大家经常用,也都知道,接下来根据源码分析一下HashMap的实现
2017-10-21 15:24:54 21684
原创 AOT,JIT区别,各自优劣,混合编译
AOT,JIT是什么?JIT,即Just-in-time,动态(即时)编译,边运行边编译;AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式区别这两种编译方式的主要区别在于是否在“运行时”进行编译优劣JIT优点:可以根据当前硬件情况实时编译生成最优机器指令(ps. AOT也可以做到,在用户使用是使用字节码根据机器情况在做一次编译)可以根据当前程序的运行情况生成最优的机器指令序
2017-10-21 11:51:02 48530 1
原创 EventBus完全解析(一)基本使用
概述EventBus是一款发布/订阅时间总线,使用观察者模式。可以轻松实现在Android各个组件之间传递消息,可以降低代码的耦合度。怎样使用1.首先要定义一个消息类 ” public class Message{ ” //在这里实现消息的内容属性和getter、setter ” }2.在订阅事件的地方注册事件,即订阅观察者 ” EventBus.getDefault().regis
2017-10-12 19:56:55 394
原创 ANR发生的原因 和 原理
原因:ANR,即application not responding,程序未响应在主线程执行了比如数据库或者网络的耗时操作其他进程占用了CPU导致本进程得不到CPU时间片,例如其他进程频繁读写细分: 耗时网络操作大量数据读写数据库操作硬件操作(例如Camera)调用Thread的join()、sleep()、wait()方法,或者等待线程锁service binder的数量达到上
2017-10-01 13:04:51 1031
原创 Activity和Fragment交互
1. 常规:静态变量、静态方法、持久化、appliation全局变量、收发广播2. 在activity中设置一个方法用于接收Handler,在fragment的onAttach中返回一个Handler,3. Activity可以用这个handler向fragment发送消息4. 推荐方法:fragment发数据给Activity在fragment中getActivity获取绑定的activi
2017-10-01 13:00:27 450
原创 Activty生命周期全面分析
Activity生命周期和启动模式全面分析Activty作为四大组件之一,使用最为平凡,在基本使用后会有一些地方不清楚,本文在基础使用的基础上对自己不是很清楚的地方进行解析。一、 生命周期在接触Activty生命周期的时候一般都会放出这张图:1.一些关于生命周期的问题其中对onCreate(),onDestroy()很好理解 :onCreate() 生命周期的第一个方法,用于初始化Activty
2017-10-01 12:50:02 545
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人