自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 App性能优化(二)

性能优化什么是性能优化?在不影响系统运行正确性的情况下,使之运行的更快,完成特定功能所需的时间更短为什么要做性能优化?在用户体验的角度去想,当我们去玩一款应用的时候,肯定不会希望玩着玩着就突然闪退,或遇到画面内容很丰富的时候不希望卡顿,其次就是耗电和耗流量不希望太严重,最后就是版本更新的时候安装包希望能小一点综上所诉,总结四个方面:稳定(内存溢出、崩溃)流畅(卡顿)耗损(耗电、流...

2019-10-18 20:03:09 260

转载 App性能优化

卡顿优化Android应用启动慢,使用时经常卡顿,造成卡顿的原因有如下几种:UI的绘制。主要原因是绘制的层级深、页面复杂、刷新不合理,由于这些原因导致卡顿的场景出现在UI和启动后的初始界面以及跳转到页面的回执上。数据处理上。一般分为三种情况,一是数据在主线程处理,这个是初级工程师会犯的错误,二是数据处理占用CPU高,导致主线程拿不到时间片三是内存增加导致GC频繁,从而引起卡顿...

2019-10-17 21:23:27 213

转载 Java高级特性-反射

定义Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能成为Java语言的反射机制。用途在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对系统应用开发,这时候就可以利用Java的反射机制通过反射来获取所需的私有成员或是方法。当然,也不...

2019-10-16 15:29:55 138

转载 Android ClassLoader双亲委托模式

ClassLoader的双亲委托模式:classLoader按级别分为三个级别:最上级:bootstrap classLoader(根类加载器);中间级:extension classLoader(扩展类加载器);最低级 app classLoader(应用类加载器)。根类加载器(bootstrap classLoader):该加载器没有父加载器。它负责加载虚拟机的核心类库,如Java.lang...

2019-10-15 20:43:19 360

原创 Android ClassLoader详解

我们知道不管是插件化还是组件化,都是基于系统的ClassLoader来设计的。只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,传统class文件是一个Java源码文件会生成一个.class文件,而Android是把所有Class文件进行合并,优化,然后生成一个最终的class.dex,目的是把不同class文件重复的东西只需保留一份,如果我们的Android应...

2019-10-15 15:32:03 297

转载 简单理解MD5

什么是MD5?MD5消息摘要算法(MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以生产出一个128位(16字节)的散列值,用于确保信息传输完整一致。主要应用一致性验证MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为...

2019-10-14 19:29:50 227

转载 Android组件化

1、为什么要项目组件化随着APP版本不断的迭代,新功能的不断增加,业务也会变得越来越复杂,APP业务模块的数量有可能还会继续增加,而且每个模块的代码也变的越来越多,这样发展下去单一工程下的APP架构势必会影响开发效率,增加项目的维护成本,每个工程师都要熟悉如此之多的代码,将很难进行多人协作开发,而且Android项目在编译代码的时候电脑会非常卡,有因为单一工程下代码耦合严重,每修改一处代码后都要...

2019-10-14 19:01:23 201

转载 Https原理及流程

我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。密码学基础在正式讲解HTTPS协议之前,我们首先要知道一些密码学...

2019-10-11 15:20:14 147 1

转载 理解HTTPS

HTTPS介绍超文本传输安全协议(Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种网络安全传输协议。在计算机网络上,HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与...

2019-10-11 14:56:34 91

转载 java线程池解析和四种线程池的使用

1、概述线程池,是指管理一组同构工作线程的资源池。线程池是与工作队列(Work Queue)密切相关的,其中在工作队列中保存了所有等待的任务。工作者线程(Worker Thread)的任务很简单:从工作队列中获取一个任务,执行任务,然后返回线程池,并等待下一个任务。“在线程池中执行任务” 比“为每个任务分配一个线程”优势更多。通过重用现有的线程而不是创建新线程,可以...

2019-09-20 07:25:21 293

转载 View 的滑动原理和实现方式

开发中,为了增加更多炫丽的效果,我们经常在应用中添加滑动效果,今天就来分析一下 View 中滑动效果的实现原理以及几种常见的实现方式。一、滑动原理Android 中的坐标系在 View 基础 中我们提到了 View 中的 X、Y、mLeft、mTop… 等属性,其中这些属性的值都是相对坐标系来说的,Android 中有两种坐标系,这里一一来简单说一下Android 坐标系: 以屏幕左上...

2019-09-20 07:03:02 205

转载 Android View的绘制流程

开发中,为了增加更多炫丽的效果,我们经常在应用中添加滑动效果,今天就来分析一下 View 中滑动效果的实现原理以及几种常见的实现方式。一、滑动原理Android 中的坐标系在 View 基础 中我们提到了 View 中的 X、Y、mLeft、mTop… 等属性,其中这些属性的值都是相对坐标系来说的,Android 中有两种坐标系,这里一一来简单说一下Android 坐标系: 以屏幕左上...

2019-09-20 07:01:05 104 1

转载 Java中的四种引用类型:强引用、软引用、弱引用和虚引用

在Java中是由JVM负责内存的分配和回收,这是它的优点(简化编程者的工作,不需要像C语言那样去手动操作内存),但同时也是它的缺点(不够灵活,垃圾回收对于编程者来说是不可控的)。在JDK1.2以前,如果一个对象不被任何变量引用,则程序无法再次使用这个对象,这个对象最终会被GC(GabageCollection:垃圾回收)。但是如果之后可能还会用到这个对象,就只能去新建一个了,这其实就降低了JVM...

2019-09-19 07:48:09 110

转载 深入理解Java之线程池

以下是本文的目录大纲: 一.Java中的ThreadPoolExecutor类 二.深入剖析线程池实现原理 三.使用示例 四.如何合理配置线程池的大小 一.Java中的ThreadPoolExecutor类  java.uitl.concurrent.ThreadPoolExecutor类是线程池中最核心的一个类,因此如果要透彻地了解Java中的线程池,必须先了解这个类。下面我们来看...

2019-09-19 07:26:53 201

转载 Java并发编程:Callable、Future和FutureTask

目录大纲:  一.Callable与Runnable  二.Future  三.FutureTask  四.使用示例  一.Callable与Runnable  先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法:public interface Runnable {  public abstract void run();  }...

2019-09-18 07:31:25 112

原创 EventBus

EventBus是一个基于发布者/订阅者模式的事件总线框架。1、概述(Android EventBus)事件总线,简化了活动、碎片、线程、服务等之间的通信,代码少、效率高。2、EventBus是一种优化了的发布/接受事件的总线。3、EventBus的优点(1)解耦和简化Activities, Fragments等组件以及后台线程之间的通信,分离事件发送方和 接收方使得代码更简洁,避免...

2019-08-08 19:34:07 786

原创 OkHttp

OkHttpI.简介OkHttp特性:1.支持http2(很少有人使用),使得对同一个主机发出的所有请求都可以共享相同的socket套接字连接;http1.12.使用连接池来复用连接以减少延迟、提高效率;3.支持Gzip压缩响应体,降低传输内容的大小;4.API设计轻巧,基本上通过几行代码的链式调用即可获取结果。5.支持Http缓存,避免重复请求;6.请求失败时会自动重试主机中的...

2019-07-11 08:04:56 145

原创 关于二维码

二维码背景和意义二维码作为一种全新的信息存储、传递和识别技术,自诞生之日起就得到了世界上许多国家的关注。它是当代人获取信息重要方式,特别是手持设备上信息的获取。随着时代的发展,它将渗透到我们日常生活的方方面面。现代社会, 人人都接触到二维码,这正反映了时代文化的变迁。充分利用二维码这一技术将会给我们的生活带来极大的便利。研究现状国外对二维码技术的研究始于20世纪80年代末,在二维码符号表示技...

2019-07-10 08:14:35 679

转载 属性动画和补间动画的区别

1、作用对象不同,补间动画只能作用在view上,属性动画可以作用在所有对象上。2、属性变化不同,补间动画只是改变显示效果,不会改变view的属性,比如位置、宽高等,而属性动画实际改变对象的属性。3、动画效果不同,补间动画只能实现位移、缩放、旋转和透明度四种动画操作,而属性动画还能实现补间动画所有效果及其他更多动画效果。...

2019-07-02 19:28:34 2498 1

空空如也

空空如也

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

TA关注的人

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