自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 观察者模式实现

手写观察者模式/** * 抽象目标类, 抽象被观察者 */public abstract class Subect { List<AbsObserver> observers = new ArrayList<>(); public void add(AbsObserver absObserver){ observers.add(absObserver); } public void remove(AbsObserver a

2021-04-14 17:47:52 118

原创 android Handler 消息机制

在android中一个app的正常工作离不开多线程。UI的更新是运行在主线程的,其他的工作绝大多数会运行在子线程中,比如:网络请求,图片加载等一些耗时操作。在java中本身线程时没有主次之分的,为什么android中要有主线程和子线程之分呢(这里我还没有办法解释,留待后续研究吧) 。那么既然有这样的机制我们就需要去遵循它。那么当我们更新UI的时候势必需要将子线程的数据传递到主线程去,那么这里使用的就是android中的Handler线程间通信机制。public Handler(@Nullable Call

2021-03-30 15:48:05 88

原创 java 线程池饱和策略记录及AsyncTask线程池的饱和策略

Abort (默认) : 不执行新提交的任务,抛出异常RejectExcutionException ,由调用者捕获,由调用者来决定后续如何执行;CallerRuns : 不抛出异常,也不会在线程池内执行新提交的任务,会将新提交的任务回退到调用者,在调用者线程内执行新提交的任务;Discard : 会将新提交的任务抛弃掉DiscardOldest : 会将新的任务放入线程池内,并且将线程池内最早的任务抛弃掉。Android 中AsyncTask中使用的线程饱和策略: // Used on.

2021-03-29 12:17:33 146

原创 工厂模式

在写代码过程中,如果一个类需要重复多次被创建,我们就可以使用设计模式中的工厂模式来设计,这样代码逻辑清晰,扩展性也更强。下边就是简单实现了工厂模式加深一下理解 代码地址简单工厂模式public interface Fruits { //定义一个接口 void des();}public class Apple implements Fruits { @Override public void des() { System.out.println("这是苹果

2021-03-16 18:20:02 60

原创 面向对象六大设计原则

面向对象六大设计原则

2021-03-15 16:24:24 42

原创 java基础之静态代理和动态代理

在看一些源码过程中发现有很多都会用到代理。代理主要分为静态代理和动态代理。这里了解一下代理在java中的实现方式。静态代理静态代理的实现方式主要是:目标类和代理类都实现同一个接口,然后通过代理类来调用被代理类中的方法,并且可以在调用方法的时候对方法实现功能的增强。实现起来相对比较简单,看代码public interface SmsService { //接口定义 void send(String phone,String content);}public class AliSmsServ

2021-03-09 18:29:05 70

原创 Ubuntu android aosp 编译过程

利用Ubuntu虚拟机编译aosp源码

2021-03-05 17:48:27 322 1

原创 了解 jvm+dalvik+art(2)

了解一下dalvik+artdalvik 是google开发的适用于android平台的java虚拟机。(存活时间到android5.0)1.支持.dex格式的java程序,.dex是专门为dalvik设计的一种压缩格式;2.每一个dalvik作为一个独立的linux进程执行;独立的进程可以防止虚拟机崩溃导致所有应用程序关闭。dalvik 虚拟机和java虚拟机的区别是 dalvik是基于寄存器架构,jvm是基于栈;寄存器是在cpu中的一块区域,速度比较快。堆栈位于cpu中的ram区域,速度仅

2021-02-23 18:23:14 122 1

原创 了解 jvm+dalvik+art(1)

简单了解一下 jvm delvik art 是个什么东西。

2021-02-02 18:10:55 98

原创 gradle 学习(三)

Android gradle 插件源码查看

2021-01-29 11:28:00 215 1

原创 gradle 学习(二)

Android Studio中 gradle 学习记录

2021-01-27 18:36:55 132 1

翻译 Gradle学习(一)

gradle必须知道的5件事

2021-01-27 13:03:51 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除