- 博客(11)
- 收藏
- 关注
原创 Java 垃圾回收机制与几种垃圾回收算法
一、如何确定某个对象是“垃圾”?这一小节先了解一个最基本的问题:如果确定某个对象是“垃圾”?既然垃圾收集器的任务是回收垃圾对象所占的空间供新的对象使用,那么垃圾收集器如何确定某个对象是“垃圾”?通过什么方法判断一个对象可以被回收了。在java中是通过引用来和对象进行关联的,也就是说如果要操作对象,必须通过引用来进行。那么很显然一个简单的办法就是通过引用计数来判断一个对象是否可以被回收。不失一...
2020-01-03 10:58:36 157
原创 插件化与热更新
插件化App 的部分功能模块在打包时并不以传统方式打包进 apk 文件中,而是以另⼀种形式⼆次封装进 apk内部,或者放在网络上适时下载,在需要的时候动态对这些功能模块进行加载,称之为插件化。这些单独⼆次封装的功能模块 apk ,就称作「插件」,初始安装的 apk 称作「宿主」。插件化步骤:主Apk分析:主App打包完成后,会形成dex,image,xml资源 Dex靠PathC...
2019-12-05 00:22:38 926
原创 Glide源码分析
Glide源码分析在早期的Android开发中,图片加载其实一直是个比较麻烦的问题。我们在处理图片时会遇到各种各样的问题:内存溢出、列表中图片错位等等。但到了如今,这些问题基本上是不会再遇到了。由于很多的优秀的图片加载框架帮我们处理了图片相关问题的痛点,所以现在Android中关于图片加载的部分变得非常简单。Android中最著名的图片加载框架就是Glide了,我们今天来深入研究一下Glide...
2019-10-28 16:30:03 159
原创 解析Andorid的缓存机制LruCache
前言在Android 2.2以上的sdk中提供了缓存类LruCache。LruCache用于内存缓存,常用的应用场景有很多,比如我们的图片加载库的内存缓存就可以利用LruCache来实现,今天我们一起来学习一下LruCache的源码。LruCache介绍LruCache 顾名思义就是使用LRU缓存策略的缓存,那么LRU是什么呢? 最近最少使用到的(least recently used...
2019-10-28 16:24:28 174
原创 Android系统启动及binder机制启动流程分析
一、Binder是什么、能做什么?Binder是android系统里面的进程间通信机制。androd系统中,不同的app运行在不同的进程中,同一个app的不同组件也可能运行在不同的进程中(androidManifest文件中android:process)。当一个进程想为其它进程提供服务时,就需要通过进程间通信的方式来提供服务。二、 为什么使用Binder Android系统是基于L...
2019-06-16 19:23:15 1235 3
原创 图文详解 Android Binder跨进程通信机制 原理
目录目录1. Binder到底是什么?中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Binder是跨进程通信方式、它实现了IBinder接口,是连接ServiceManager的桥梁blabla,估计大家都看晕了,没法很好的理解 我认为:对于Binder的定义,在不同场景下其定义不同 定义在本文的讲解中,按照大角度...
2019-05-23 15:45:21 182
原创 Android Q 适配指南 让你少走一堆弯路
导读文中链接请自行科学上网Android Q Beta 1刚出,讲道理国内是不到下半年不用理睬Q的,但是上月末的一封华为要求适配Q的邮件要求我们在5月底之前完成相关适配,不然应用会被下架。一开始还心生奇怪,为什么这次华为的邮件来的那么早以及严格。当我仔细阅读了官方文档之后发现Q的更新特别多,且不适配应用可能无法正常运行(不管targetSDK是否为Q)。国内相关的文章还比较少,本文...
2019-05-16 11:01:28 274
原创 EventBus设计原理-流程分析
本篇不涉及任何源码,单纯讲一下它的流程,然后讲一下优缺点。Eventbus 中有三个集合,这基本就是核心所在。private final Map<Class<?>, CopyOnWriteArrayList<Subscription>> subscriptionsByEventType;//第一个集合的存储的//key是数据类型的clazz//v...
2019-05-07 15:55:28 115
原创 RecyclerView与ListView缓存机制对比
ListView与RecyclerView缓存机制原理大致相似,滑动过程中,离屏的ItemView即被回收至缓存,入屏的ItemView则会优先从缓存中获取,只是ListView与RecyclerView的实现细节有差异。(这只是缓存使用的其中一个场景,还有如刷新等)一、缓存机制对比1. 层级不同:RecyclerView比ListView多两级缓存,支持多个离ItemVie...
2019-05-07 11:41:58 323
原创 Android自定义控件常用方法总结
在项目开发中,我们常常会用到自定义控件,想要去实现自定义的效果,那么我们就得知道view的哪些方法是在什么时候调用以及它的作用是什么,下面就是我总结的一些常用的方法。1、onMeasure(int widthMeasureSpec,int heightMeasureSpec ) @Override protected void onMeasure(int widthMeasure
2016-05-27 16:08:52 467
原创 Android 自定义 RatingBar (评分控件)
RatingBar是基于SeekBar(拖动条)和ProgressBar(状态条)的扩展,用星形来显示等级评定,默认的效果是几颗绿色的星星,效果比较难看,大小只有两种风格,一种是ratingBarStyleIndicator,一种是ratingBarStylesmall一般都不能满足用户需求,所以就需要我们去自定义来实现效果。 上图第一种效果是系统自带的ratingBa
2016-04-29 11:14:37 1345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人