stven_king的专栏

自信人生两百年、会当击水三千尺

Android6.0动态权限适配&XMPermissions

Android6.0动态权限 简介 从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。此方法可以简化应用安装过程,因为用户在安装或更新应用时不需要授予权限。它还让用户可以对应用的功能进行更多控制;例如,用户可以选择为相机应用提供相机访...

2018-09-29 18:10:57

阅读数:32

评论数:0

InstantRun从2.0到3.0,历史解毒

个人博客地址 http://dandanlove.com/ InstantRun从2.0到3.0,历史解毒 前言 Instant Run已经出来3年了,为什么现在会想写这篇文章。从Instant Run 发布就已经有文章做了详细的介绍,但主要分为两类:一类是讲其主要实现原理或是讲...

2018-05-18 15:32:05

阅读数:295

评论数:0

Android动画绘制原理(源码解析)

Android 平台提供了三类动画,一类是 Tween 动画-Animation,即通过对场景里的对象不断做图像变换 ( 平移、缩放、旋转 ) 产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。最后一种就是3.0之后才出现的属性动画PropertyAnimator。 ...

2018-05-01 00:02:16

阅读数:123

评论数:0

Android系统的编舞者Choreographer

个人博客地址 http://dandanlove.com/ 前言 上一篇文章 Android的16ms和垂直同步以及三重缓存 解释了手机流畅性的问题,并在文章中提到了在Android4.1中添加的Vsync。Choreographer机制,用于同Vsync机制配合,实现统一调度界面绘图。 ...

2018-04-26 19:59:20

阅读数:226

评论数:0

Android的16ms和垂直同步以及三重缓存

个人博客地址 http://dandanlove.com/ 前言 手机屏幕是由许多的像素点组成的,每个像素点通过显示不同的颜色最终屏幕呈现各种各样的图像。手机系统的类型和手机硬件的不同导致UI的流畅性体验个不一致。 屏幕展示的颜色数据 在GPU中有一块缓冲区叫做 Frame...

2018-04-26 19:55:30

阅读数:182

评论数:0

Dialog、Toast的Window和ViewRootImpl

前言文章Activity中的Window的setContentView、遇见LayoutInflater&Factory、ViewRootImpl的独白,我不是一个View(布局篇) 分别讲述了Activity的setContentView添加View、LayoutInflater布局解析...

2017-12-11 18:01:51

阅读数:325

评论数:0

ViewRootImpl的独白,我不是一个View(布局篇)

前言前一段时间写过两篇关于View的文章 Activity中的Window的setContentView 和 遇见LayoutInflater&Factory 。分析了Activity设置页面布局到页面View元素进行布局到底经历了一个怎么样的过程?

2017-12-11 17:56:02

阅读数:264

评论数:0

遇见LayoutInflater&Factory

在我们写listview的adapter的getView方法中我们都会通过LayoutInflater.from(mContext)获取LayoutInflater实例然后调用inflate方法创建View。这个有xml布局文件转化为View对象的过程到底是怎么样的,我们今天通过源码来了解一下。

2017-11-17 11:18:36

阅读数:228

评论数:0

又一年对Android消息机制(Handler&Looper)的思考

前言Android消息机制对于每一个Android开发者来说都不陌生,在日常的开发中我们不可避免的要经常涉及这部分的内容。从开发角度来说,Handler是Android消息机制的上层接口,这使得在开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松的将一个任务切...

2017-06-25 22:37:43

阅读数:726

评论数:1

Android类加载之PathClassLoader和DexClassLoader

Dalvik虚拟机加载的dex文件。dex文件是Android对与Class文件做的优化,以便于提高手机的性能。可以想象dex为class文件的一个压缩文件。dex在Android中的加载和class在jvm中的相同都是基于双亲委派模型,都是调用ClassLoader的loadClass方法加载类。

2017-02-23 16:31:47

阅读数:2073

评论数:2

Android网络之HttpUrlConnection和Socket关系解析

多年以前Android的网络请求只有Apache开源的HttpClient和JDK的HttpUrlConnection,近几年随着OkHttp的流行Android在高版本的SDK中加入了OkHttp。但在Android官方文档中推荐使用HttpUrlConnection并且其会一直被维护,所以在学...

2016-07-18 00:39:15

阅读数:4859

评论数:1

Android网络之Retrofit2.0使用和解析

Retrofit+Rxjava+okhttp是时下比较受欢迎的网络请求框架,其源代码并不是很多,其底层网络通信时交由 OkHttp来完成的,但是Retrofit运用了大量的设计模式,代码逻辑很清晰。本文通过Retrofit2.0的使用讲述其实现原理

2016-07-11 10:51:46

阅读数:11036

评论数:1

Android平台JSON预览(JSON-handle)

Chrome常用的插件JSON-handle,用过的都知道。 最近在做接口加密,所有的数据(request和response)都是加密数据,无法沟通fildder或者Charles抓包查看。那么自己做一个查看json``格式的View:支持动态的放大,缩小,支持所有数据格式~! 效果图: ...

2018-09-10 20:29:26

阅读数:22

评论数:0

Android项目解耦--路由框架ARouter的使用

Android项目解耦–路由框架ARouter源码解析前言随着业务量的增长,客户端必然随之越来越业务和功能模块耦合越来越生,开发人员代码维护成本越来越高。 App一般都会走向组件化、插件化的道路,而组件化、插件化的前提就是解耦,那么我们首先要做的就是解耦页面之间的依赖关系。

2018-02-06 14:16:13

阅读数:441

评论数:0

Android项目解耦--路由框架ARouter源码解析

前言 上一篇文章Android项目解耦–路由框架ARouter的使用讲述了ARouter在项目中的使用,这边文章主要对ARouter的源码进行学习和分析。 ARouter的结构 ARouter主要由三部分组成,包括对外提供的api调用模块、注解模块以及编译时通过注解生产相关的类模块。 ...

2018-02-06 14:14:42

阅读数:183

评论数:0

Android换肤原理和Android-Skin-Loader框架解析

前言Android换肤技术已经是很久之前就已经被成熟使用的技术了,然而我最近才在学习和接触热修复的时候才看到。在看了一些换肤的方法之后,并且对市面上比较认可的Android-Skin-Loader换肤框架的源码进行了分析总结。再次记录一下祭奠自己逝去的时间。

2017-11-27 19:20:44

阅读数:1230

评论数:0

AsyncTask使用和源码解析

在Android中提起异步通信我们都会想到Handler,之前写过一篇文章[又一年对Android消息机制(Handler&Looper)的思考](http://blog.csdn.net/stven_king/article/details/73730417) 。Android除过使用H...

2017-09-17 07:55:11

阅读数:281

评论数:0

深入理解Activity启动模式之大结局

谈起Activity的启动模式必不可少的要是launchMode、Flags、taskAffinity这三块知识点,上一篇文章 深入理解Activity启动模式之launchMode 看过的同学都知道该文章对launchMode做了非常详细的讲解,所以本片文章承接上一篇文章对剩余的Flags、ta...

2017-07-20 11:46:06

阅读数:500

评论数:0

深入理解Activity启动模式之launchMode

Android每个Application都是由若干个四大组件组成的。每个页面都是一个Activity,当需要打开相应页面(Activity)时系统会创建他们的实例并把他们一一放入栈中进行管理。任务栈是一种“后进先出”的栈结构,通过back键,我们可以发现这些Activity会一一出栈(PS:不断返...

2017-07-20 11:37:04

阅读数:553

评论数:0

深入解析AIDL的实现:Messenger

Messenger可以翻译为信使,顾名思义,通过它可以在不同进程中传递Message对象,在Message中放入我们需要传递的数据,就可以轻松地实现数据的进程间传递了。Messenger是一种轻量级的IPC方案,它是AIDL在Android中的一种经典实践。文章主要讲述Messenger利用AID...

2017-07-10 14:38:33

阅读数:670

评论数:0

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