App中大量Web页面的使用容易导致App内存占用巨大,存在内存泄露,崩溃率高等问题,WebView独立进程的使用是解决Android WebView相关问题的一个合理的方案...
App中大量Web页面的使用容易导致App内存占用巨大,存在内存泄露,崩溃率高等问题,WebView独立进程的使用是解决Android WebView相关问题的一个合理的方案...
我们都知道在调用Looper.prepare的时候会创建一个Looper,那么是如何保证一个线程只有一个Looper的? 首先要知道Looper中有一个sThreadLoca...
在Object类中,有hashCode()和equals()方法,而任何类都是Object的子类,同样也继承了这两个方法。 调用hashCode方法得到一个Int类型的哈希码...
HashMap在项目里面经常用到,使用的时候一般都是这样写 得到一个HashMap后往里面存数据,但对没看过HashMap源码的同学对HashMap的数据存储还是不太了解的,...
在开发过程中是否遇到这么一个问题,功能描述:点击后执行一段代码,但是要在点击的时候检测是否已登录。这个功能很简单,但登录后要继续执行刚才那段代码呢?是不是有点无头绪了。在Ja...
1、一个线程有几个Handler?一个线程有任意个Handler,可以new多个Handler,但最终同一线程多个Handler发的消息都在同一个Looper去处理。 2、一...
前言 Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问...
使用流程 我们都知道一个简单的OkHttp请求流程是这么写的: 在使用OkHttp发起一次请求时,对于使用者最少存在OkHttpClient、Request与Call三个角色...
为什么要分层 没有分层的情况下是直接从一端把消息传输至另一端,网络传输无非是从客户端传信息到服务端,或者服务端传信息到客户端,那么在传输过程中是存在网络不稳定的情况,数据丢失...
HTTP的定义 Hypertext Transfer Protocol,超⽂本传输协议,和 HTML (Hypertext MarkupLanguage 超⽂本标记语⾔) ⼀...
线程通信 多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作。就是多个线程在操作同一份数据时, 避免对同一共享变量的争夺。比如在...
前言 上篇文章讲了线程安全问题[https://www.jianshu.com/p/669ee2aec526],要保证原子性,可见性和有序性的操作才能保证线程安全。也讲到了s...
什么是线程安全问题 线程安全问题不是说线程不安全,而是多个线程之间交错操作有可能导致数据异常。就比如两个线程同时对一个数据进行操作,不能保证最后得到是数据是正确的,这就出现了...
一 线程池中的一些重要概念 Worker / workers Worker类是ThreadPoolExecutor类的一个内部类,也是线程池管理操作线程的核心所在。每一个wo...
一 为何使用线程池 在我们日常的Android开发中,经常使用多线程来处理异步的任务,第一想到的就是new Thread来创建一个子线程来处理,但是呢,创建一两个还好,但是任...
默认情况下,点击EditText会打开输入法。项目中有个需求功能是点击其他地方(除键盘外)可以关闭输入法,第一时间想到的是,点击其他View就收起输入法,那么有个问题,当你V...
一 相信大家都有听过,子线程更新UI的操作。但这种说法,不是很明确。有些人说子线程更新UI会挂,而有些人说子线程可以更新UI。接下来分析下这两种情况。 二 先来说说子线程更新...
一、 Android中网络请求是必不可少的。OkHttp是网络框架界的大佬了,很多网络框架都基于OkHttp封装。本章主要讲OKHttp的使用,后面会写到用它封装的其他框架的...
一、前言 Handler,大家基本上多多少少都了解吧。我一开始只是用它来做发消息接收消息处理的功能,对它内部的运作还没去解析。最近看了下源码,算是弄懂了吧,来总结和记录下Ha...