自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android秒级免安装增量编译方案

由于工作中开发的Android项目比较大,编译瞬间比较长,就算是二次编译,也要好几分钟,其他插件又不能很好的适配我的项目,所以就自己做了一个增量编译的插件,设计实现上是尽可能简单,减少维护成本,有需要的同学可以参考,尝试接入自己的项目项目地址一、原理增量编译Java原理:Android ClassLoader的findClass会从ClassLoader.pathList.dexElements[]数组里面按顺序查找dex加载class,所以可以Hook了ClassLoader.pathList.

2021-11-27 19:23:50 240

原创 Android网易云鲸云音效UI

之前看过别人实现了网易云的音效UI,我也实现了一下,以下是示意图源码:https://github.com/WYJ0663/MusicEffect.git

2019-08-12 20:07:57 590

原创 android 彩带动画,粒子动画

项目地址demo mImageView = (ImageView) findViewById(R.id.iamge); final RibbonDrawable drawable = new RibbonDrawable(this); RibbonConfig config = new RibbonConfig() .setC...

2019-08-04 18:39:49 871

原创 Android sqlit java层源码分析

【1.1】打开数据库我们一般回调用SQLiteOpenHelper的getWritableDatabase,getReadableDatabase来打开一个可写或者只读数据库,其实都是通过getDatabaseLocked来实现,writable值不同而已,源码分析如下 private SQLiteDatabase getDatabaseLocked(boolean writable)...

2018-06-18 17:52:59 261

原创 getDrawable()缓存带来的问题

我们经常通过getContext().getResources().getDrawable()来获取一个问题,当因为Android机制使用了缓存机制,直接setColorFilter()修改颜色,可能同时也会改变其他getDrawable()的颜色。我们先来看一下getDrawable()的源码吧。 public Drawable getDrawable(int id, @Nulla...

2018-06-02 14:49:10 1709

原创 EventBus2.2源码分析

由于我们项目使用了EventBus2,所以查看一下源码,了解一下原理关键的event缓存数据结构 // 订阅方法,按event类型归类 private final Map<Class<?>, CopyOnWriteArrayList<Subscription>> subscriptionsByEventType; // ...

2018-06-02 13:18:41 258

原创 Java线程池原理分析

【1.0】 Executors类提供了几种不同特性的线程池,其主要实现类都离不开ThreadPoolExecutor,先看一下ThreadPoolExecutor的构建方法public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2018-06-02 13:09:22 106

原创 startActivity启动过程

代码来自Android 7.1.1版本,简单分析startActivity的启动过程【1.1】 启动Activity,最终都会调到startActivityForResult,requestCode默认-1,options默认null //Activity.java public void startActivityForResult(@RequiresPermis...

2018-06-02 13:08:29 302

原创 Android Handler 机制

Handler机制是Andrdoid中很常用的线程任务控制,Handler类负责信息传送和分发执行,Looper是控制Message中心,MessageQueue保持和提供Message。1、Message顺便提一下Message.obtain(),Message会维护一个信息池,以单列表结构存储,使用它可以减少对象的创建,节省内存,代码如下 //池默认长度是MAX_POOL_...

2018-06-02 13:07:51 77

原创 《Java虚拟机》笔记

记录了自己读《Java虚拟机》的一些笔记,主要在内存管理和代码优化那一块。1、JVM内存管理运行时数据区方法区(Method Area)虚拟机栈(VM Stack)本地方法栈(Native Method Stack)堆(Heap)程序计数器(Program Counter Register) 执行引擎、本地库接口程序计数器 - 是一块较小的内存空...

2018-06-02 13:07:12 94

原创 Android特有的数据结构分析

android为了减少内存的使用和装箱拆箱损耗的性能,提供一些特有的数据接口,在 android.util包下面,都是使用数据进行保存,适当的使用这些对象可以优化我们的应用ArrayMapArraySetSparseArraySparseIntArraySparseBooleanArraySparseLongArrayArrayMap可代替Map//保存hashint[...

2018-06-02 13:06:32 1120

原创 Java常用数据结构分析

总结一下常用的数据结,以上是它们大概的继承关系。 - List:列表 - Map:key-value映射关系 - Set:集合中元素唯一Collection ├─List│ ├─ArrayList│ ├─LinkedList│ ├─Vector│ ├─Set│ ├─HashSet│ ├─TreeSetMap├─HashMap├─TreeMap├─L...

2018-06-02 12:59:26 199

原创 Android Http协议笔记(使用HttpURLConnection)文件上传+参数

1.Android网络请求数据是最常用,最近在研究Http网络请求,来记一下笔记 下面的博客是Http协议的解析,我就不重复了:http://blog.csdn.net/gueter/article/details/1524447 2.下面是Http 请求的一个例子:客户端:GET http://www.hstc.edu.cn/turbosearch/search_ne

2015-07-12 13:41:33 4954 2

Android-Http

Android http 操作,加异步封装,Android http 操作,加异步封装,Android http 操作,加异步封装,Android http 操作,加异步封装,Android http 操作,加异步封装,Android http 操作,加异步封装

2015-07-12

one think工具

one think工具one think工具one think工具one think工具one think工具one think工具one think工具one think工具one think工具

2013-12-08

空空如也

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

TA关注的人

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