自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flutter之Image源码分析

本篇文章已授权微信公众号 京东技术 独家发布Flutter之Image源码分析随着手机设备硬件水平的飞速发展,用户对于图片的显示要求也越来越高,稍微处理不好就会容易造成内存溢出等问题。所以我们在使用Image的时候,建立一个图片缓存机制已经是一个常态。Android目前提供了很丰富的图片框架,像ImageLoader、Glide、Fresco等。对于Flutter而言,为了探其缓存机制或者定...

2019-08-14 14:27:27 538

转载 Java字节码增强探秘

原文地址:https://mp.weixin.qq.com/s/Wa4JKQ5NAN_4_TVSO67ehQ1. 字节码1.1 什么是字节码?Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。在Java中一般是

2021-06-05 15:40:58 176

原创 ASM字节码

ASM 主要有几个类需要了解 而且需要对 Java字节码 比较熟悉ClassReader 字节码的读取与分析引擎。它采用类似SAX的事件读取机制,每当有事件发生时,调用注册的ClassVisitor、AnnotationVisitor、FieldVisitor、MethodVisitor做相应的处理。ClassVisitor 定义在读取Class字节码时会触发的事件,如类头解析完成、注解解析、字段解析、方法解析等AnnotationVisitor 定义在解析注解时会触发的

2021-06-05 15:15:42 528 2

原创 Java并发编程个人理解

Java并发编程ThreadThread的几种状态NEW:线程刚创建还没startRUNNABLE: 线程正在JVM中执行BLOCKED: 当前线程正在等待monitor lock Synchronized代码块会让没获得锁的线程进入Blocked状态,Object.wait也会进入BLOCKED状态。WAITING: 等待其他线程唤醒。Locksupport.park会让线程进入w...

2019-07-23 15:02:28 268

原创 二叉树

二叉树一. 二叉树的概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree),其次序不能任意颠倒。(百度百科)二. 性质若二叉树的层次从0开始,则在二叉树的第i层至多有2^i个结点(i>=0);高度为k的二叉树最多有2^(k+1) - 1个结点(k>=-1)。 (空树的高度为-1);对任...

2019-07-19 16:39:57 218

原创 view动画原理分析

View动画使用view动画有缩放、旋转、平移、透明度等,都是继承于Animation类。我们掌握了一个类型的原理其他原理基本一致。都是通过Transformation 和 Matrix 实现各种各样炫酷的动画。ScaleAnimation scaleAnimation = new ScaleAnimation(0,1,0,1);scaleAnimation.setDuration(1000...

2019-07-12 15:29:08 361

原创 Service的基本概念

Service简介服务是四大组件之一,可在后台长时间运行,不提供用户界面,意识是系统不容易将其杀死,只有在内存不足或者省电模式下才会杀死。一个应用程序组件可启动一个服务,这个服务可以做播放音乐、计时操作等。Service的种类按照运行地点可以分为类别区别优点缺点应用本地服务(Local Service)该服务依附在主进程上服务依附在主进程上而不是独立的进程,这...

2019-07-09 15:11:54 968

原创 图片测试

2019-06-05 15:27:04 178

原创 内存模型的理解

内存模型的理解为什么有内存模型计算器执行指令都是在CPU中执行的,而执行的时候需要和数据打交道,而数据是放在主存中的,也就是计算机物理内存,由于内存速度的写入和读取跟不上CPU的速度,导致CPU每次操作内存都要耗费等待时间。这样就增加了高速缓存,当程序运行过程中,会将运算的数据从主存复制一份到CPU的高速缓存当中,那么CPU计算的时候可以从它的高速缓存读取和写入数...

2019-06-04 09:55:02 302

原创 谈谈RecyclerView的LayoutManager-LinearLayoutManager源码分析

今天我们来好好谈谈LayoutManager的问题。前言LayoutManager是RecyclerView用来管理子view布局的一个组件(另一个组件应该是Recycler,负责回收视图),它主要负责三个事情:布局子视图在滚动过程中根据子视图在布局中所处的位置,决定何时添加子视图和回收视图。滚动子视图其中,只有滚动子视图,才会需

2017-04-19 16:09:34 3237 1

原创 RecyclerView完全解析@Hongyang

RecyclerView已经出现有一段时间了,但网上找了很久,并没有过多的介绍,还是鸿洋大神写的博客比较详细,我这里就按我的思路又加工了下。使用时,必须有support-v7包才可以使用。相比ListView,GridView之类控件,它有很多的优点,例如:数据绑定、Item View创建,View的回收以及重用等机制。RecyclerView控件和ListView的原理有很多相似的地方,都是

2017-04-19 13:21:03 1884 2

原创 Context都没弄明白,还怎么做Android开发?

Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模

2017-04-18 17:24:44 350

原创 Android 签名 重新打包

分享一下:给一个已有的apk工具重新打包生成新的签名:将原来的apk改后缀名改成zip,将zip包里的META-INF文件删除掉,重新命名为apk文件以下是生成签名的命令,注意路径问题重新签名命令1:使用android的keystore------ jarsigner -digestalg SHA1 -sigalg MD5withRSA -keystore F:\eclipse\sdk

2014-11-25 20:57:10 708

转载 Android中attrs.xml文件的使用详解

Android中在values中定义一个attrs.xml,然后自己定义一个组件MyViewattrs.xml内容如下:[html] view plaincopyxml version="1.0" encoding="utf-8"?>       resources>           declare-styleable n

2014-10-31 14:23:14 576

原创 读书笔记

两个android之间的跳转动画用

2014-10-31 10:59:17 663

空空如也

空空如也

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

TA关注的人

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