ThreadLocal设计意图
核心原理
- ThreadLocal 处理的是线程的专属对象,各个线程的对象都是独立的。
- ThreadLocal 用来辅助平衡效率与资源分配。
- ThreadLocal 不是同步机制,也不解决共享对象的多线程竞态条件问题。
基本设计
首先看一个熟悉...
核心原理
首先看一个熟悉...
WebView 打开网页的时候,如果网页里面包含较多的 CSS, JS,图片等资源,可能需要非常长的时间。 为了提高加载速度,我们可以将各个网页通用的资源预先内置到 App 中,在网页从远程服务器加载资源之前,先检查本地是否已经有对应的预置或者预下载资源。 如果根据规则命中本地资源,则让 WebView 直接加载本地资源,当没有找到本地资源的时候,再将控制让渡给 WebView 默认的...
本文是对 https://github.com/badoo/android-weak-handler 的原理讲解。
在 Read More
Android JsBridge 就是用来在 Android app的原生 java 代码与 javascript 代码中架设通信(调用)桥梁的辅助工具。
Read More
Message 有两种:Data Message(数据消息) 与 Task Message(任务消息) Data Message 是指有携带多个数据参数的 Message。比如: 在 Android 学习的过程中,经常需要针对某些项目来写一些测试的例子,或者在做一些 demo 的时候,都需要先写 Activity 然后注册。
如果里面有太多的跳转的话,还需要每个跳转都增加一个事件。这些都是非常繁琐的步骤。那么如何省略这些步骤呢? 有一种办法就是使用 Fragment,然后按照“约定大于配置”的原则,遍历安装包下符合条件的 Fragment 然后自...
内存泄漏的最终原因无非就是逻辑上应该被回收的资源实际上无法被回收。 如果我们将 Activity 看做一个封闭环境,那么导致内存泄漏的原因通常就是:实际上有外部环境中的其他存活对象持有这个逻辑上应该被回收的 Activity 的强引用。 回到 Handler,Handler 内部肯定不存在内存泄露的问题,那问题肯定处在我们的写法上,而主要的问题就是在延时...
如何写一个JsBridge
Handler(二)Message面面观
Message 有几种?
Android 如何快速构建Android Demo
Handler(一)内存泄漏
Volley线程池的问题