桥下红药

以无心之心读书

Binder 跨进程通信机制

Android运行环境就是一个沙盒环境,每当运行一个APP的时候都会有一个独立的进程来运行。进程与进程之间通信方式就叫Binder,接口是 IBinder 。这个东西应用层很少使用到,但是运行过程中无处不在。 直接网上借一张图 粗略...

总分类 0 评

自定义View – 星星评分控件

需求是这样子的,分析下可以怎么做! 1. 单纯的绘图画出来,包括星星。 2. 用UI给的图片来做~。 这么看肯定是用图片来做最简单了,因为存在半颗星的情况所以需要三张图片资源,选中的图片,空星的图片,半星的图片。 1. ...

总分类 0 评

关于Http协议

Http协议,先从表面文字理解,这是一个协议,协议可以粗略的理解成A、B双方约定好的规矩和标准,好比很多年前Js标准还没出来,各大浏览器都来一套各自的标准,结果就很坑爹了,道理一样Http协议就是必须双方制定、遵守一个...

总分类 0 评

String是如何被转成Int的

以前没有想过这种问题,越是简单的API越是容易忽略这种小细节。抱着好奇心去看了看实现。 举个栗子:Integer.valueOf(“1”); valueOf 这个是如何实现的呢?主要是调用了 Integer.parseInt public static int pa...

总分类 0 评

栈与队列的区别

很多时候记不住一些死记硬背的知识点主要还是记忆方式有问题,本来就没有超长的记忆力,有的话已经上清华北大了。以前记什么栈和队列时间长了就迷糊了。 直到有一天群里有个人说:栈和队列粗俗的说就是,队列就是拉屎,吃下...

总分类 0 评

自旋锁和互斥锁的区别

听名字是很怪异的,都是锁很明显就是防止多个线程操作共享数据出现脏读等情况发生,那么肯定是互斥的啊。 1. 自旋锁 在当前锁已经被别的线程获取了,现在的线程需要等待别的线程使用完释放锁,自旋的含义和轮询很像,就是当...

总分类 0 评

ExecutorService 线程池

ExecutorService 是Jdk自带的并发包里的类,位于 java.util.concurrent 先整理下涉及到相关类和接口 Future Runnable Callable RunnableFuture FutureTask SynchronousQueue BlockingQueue ThreadFactor...

总分类 0 评

gradle 打包的一些灵活运用

Android Studio 是使用gradle进行项目构建的,gradle是个基于Jvm的构建工具,下载gradle离线包的话能看到代码很多都是Java写的,对外提供一种标准语法吧。最常用的就是开发者用来打包渠道包、占位值。这里主要记录下方便开...

总分类 0 评