自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入Flutter的Rendering层(二)--- 布局layout与绘制paint

本文所有源码版本为Flutter 1.9.1,部分源码会删除assert和debug部分转载请注明出处,谢谢#0、本系列文章深入Flutter的Rendering层(一)— 从runApp到三棵树的构建深入Flutter的Rendering层(二)— 布局layout与绘制paint#1、前言上一篇文章,我们从runApp切入,分析了Flutter三棵树的构建过程,也深入了解了...

2020-01-31 21:17:27 1896

原创 深入Flutter的Rendering层(一)--- 从runApp到三棵树的构建

本文所有源码版本为Flutter 1.9.1,部分源码会删除assert和debug部分转载请注明出处,谢谢#0、本系列文章深入Flutter的Rendering层(一)— 从runApp到三棵树的构建深入Flutter的Rendering层(二)— 布局layout与绘制paint#1、前言使用Flutter的Widget写了一段时间,用是挺好用,但就是越写心里越没底,感到疑...

2020-01-31 21:16:32 1704

原创 MTransition使用示例、Q&A

在下面的代码示例中,我们都假设需要用MTransition完成一个从ActivityA到ActivityB的过场动画,并称ActivityA为FromPage,称ActivityB为ToPage;基础用法(请参考Demo1)...

2018-07-15 18:37:24 419

原创 MTransition介绍和使用 ---- 一个页面切换动画库(Android)

MTransition最近写了一个动画库,叫MTransition,顾名思义,就是过场动画、页面切换动画用的。它可以提高你开发页面切换动画的效率,用一些简单的代码实现非常复杂的动画。跨Activity的动画也适用。现在代码已经开源,欢迎大家Star:https://github.com/HJ-Money/MTransition先看效果在上面的动图示例中,动画执行前后分别是两个不...

2018-07-04 01:15:48 1659 2

原创 【Android进阶】如何写一个很屌的动画(3)---高仿腾讯手机管家火箭动画

系列中其他文章:【Android进阶】如何写一个很屌的动画(1)—先实现一个简易的自定义动画框架【Android进阶】如何写一个很屌的动画(2)—动画的好帮手们【Android进阶】如何写一个很屌的动画(3)—高仿腾讯手机管家火箭动画文章中充满了很多很大的Gif图,请耐心等待加载或者刷新页面,谢谢~前两节我介绍了一些写好一个动画的要素,这节我就用一个实例详细介绍如何一步一步写好一个动画。 本次实例

2016-01-05 11:35:50 3450 2

原创 【Android进阶】如何写一个很屌的动画(2)---动画的好帮手们

本文有关源码在最下面的下载地址。要写好一个动画,需要不少好帮手,利用好这些帮手,写一个屌屌的动画就事半功倍了。好帮手一:图片素材 一个酷炫的动画,尤其是原创的动画,必须要有一些好的图片素材,而且这些素材地位举足轻重。当然这些都是UI射鸡师需要做的,所以快去催图吧!好帮手二:Canvas和Paint 关于这个帮手比较详细的分析可以看看这个系列的文章自定义控件其实很简单

2016-01-03 22:09:35 2638 1

原创 【Android进阶】如何写一个很屌的动画(1)---先实现一个简易的自定义动画框架

前言 动画有多么重要,相信大家都清楚。它可以让一个枯燥乏味的静态界面变成一个充满动力的动画世界,提高用户体验。它的用途有很多,例如:让原本突兀的过程变得缓和,例如UC浏览器点击“酷站”,如下图 当有一个逻辑复杂,需要时间的来做,可以用动画来表示体现,例如腾讯手机管家在屏幕中清理内存,如下图 可见,动画是多么的重要。可是,在Android中,动画有

2016-01-02 18:11:35 6322 4

原创 理解Aidl中Stub和Stub.Proxy

前言 之前看Binder的时候,一直对aidl自动生成的Stub类和Stub.Proxy类感到很疑惑。为什么要创建两个类呢?他们的区别在哪呢?他们代表的意思又是什么呢? 本文尝试去解答这些问题。AIDL的基础使用 可以看看这篇文章:http://blog.csdn.net/liuhe688/article/details/6400385 或者官网的文章:http://developer.an

2015-11-21 23:26:40 13200 2

原创 Activity启动时,与Ams,Wms如何交互

粗略地整理下Activity启动时,Ams是如何与Activity交互的,并且Activity又是如何与View以及Wms交互的。下面的是调用时序图,第一次画,画得不好请见谅。图有点小,请点击放大。

2015-11-17 00:59:57 2995

原创 通过View.post()获取View的宽高引发的两个问题:1post的Runnable何时被执行,2为何View需要layout两次;以及发现Android的一个小bug

前言 在Android里,获取View宽高的时机是个老生常谈的话题了。众所周知,在Oncreate里直接调用View.getWidth或者View.getMeasuredWidth返回都是0。所以获取宽高时机很重要,对于这个问题的解决方法概括起来有四种之多,具体可以看看任玉刚老师的《Android开发艺术探索》中的View章节或者网上也有非常丰富的资料。 而本文主要讨论的是其中的一个解决方法。V

2015-11-13 11:18:59 13228 25

原创 深入理解Xfermode,使用时要注意以及顺便膜拜下saveLayer的强大

前言 Android的Xfermode可以做出很多神奇的效果,例如ios锁屏的扫光效果,刮奖卡刮开的效果,相框相片合成效果等等。相信很多人都用过Xfermode,网上也有很多现成的效果实例,但是我们真的了解它吗?基本用法 关于Xfermode的使用可以看看Android官方提供的ApiDemos工程看看源码,如何创建并运行ApiDemos可看这:http://my.oschina.net/lib

2015-11-07 16:15:44 4648

原创 源码分析Android 应用进程的启动过程

接上一篇文章:《源码分析Android SystemServer进程的启动过程》三、普通Apk应用程序的启动过程 关于这部分完成的过程分析可以看罗升阳老师的文章:http://blog.csdn.net/luoshengyang/article/details/6689748 因为其过程太长了,所以我的研究将从最重要的地方去着手分析。一般第三方的应用程序启动都是通过桌面来启动的,所以其实它启动

2015-10-31 23:59:36 2035

原创 源码分析Android SystemServer进程的启动过程

最近复习了柯元旦老师的《Android内核剖析》,获益良多。所以想从自己的钻研出发,走一遍柯老师走过的路。我看的《Android内核剖析》版本是基于Android2.3系统来写的,因为我尝试从Android5.1系统再钻研一遍书籍中所钻研过的知识点。本文将尝试从源码分析SystemServer进程的启动过程,Ams,Wms及其他常用到的服务的创建,以及打开第三方应用的启动过程。一、SystemSer

2015-10-30 18:31:02 1677

原创 Fragment恢复时注意事项:InstantiationException,别在Fragment写有参数的构造方法

最近使用Fragment时遇到的一个问题,记录下来。该问题出现的概率很小,也就是非必现。但是因为很多人也会这样使用Fragment,所以很可能你的项目中也隐藏着这样的一个bug,只是发生概率太小无法发现。问题主要跟Activity的数据恢复有关,其可能产生的Exception: android.support.v4.app.Fragment$InstantiationException: Unab

2015-10-09 11:53:21 8157 5

原创 在任意线程给Handler发送的消息为什么会在创建Handler的那个线程被执行?

接触Android一定对Handler不陌生,它是用来处理线程间通信问题。例如如下代码:public class HandlerTestActivity extends Activity { Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) {

2015-08-12 15:45:41 1062 1

原创 HashMap存储原理以及与hashcode、equals方法的关系

一、HashMap 存储/读取数据原理: 先放源码:public class HashMap<K, V> extends AbstractMap<K, V> implements Cloneable, Serializable { private static final int MINIMUM_CAPACITY = 4;... transient HashMapEntr

2015-08-06 18:00:10 2971

原创 Android 系统设置页面注入Fragment的注意事项

关于Android Fragment的注入,请看这两个链接了解下:http://www.cnblogs.com/Lefter/p/3451853.htmlhttp://securityintelligence.com/new-vulnerability-android-framework-fragment-injection如果你也想在系统的设置Settings页面注入你想要展示的Fragme

2015-04-24 15:35:11 1622

原创 Android的LaunchMode,Intent flags和taskAffinity

关于Android的LaunchMode知识一直都似懂非懂,所以最近找个时间补补。首先,关于这个知识点官网有篇文章专门说明了,链接:http://developer.android.com/guide/components/tasks-and-back-stack.html 但是文章里好多地方都写得不明确,尤其很多地方实践起来跟官网说明的有很大差异,下面我简单说明下。1、四大LaunchMode

2015-04-08 01:02:38 857

原创 android多分辨率开发的解决方案(2)-----适配大部分手机

android多分辨率适配是一个老生常谈的问题了,但是随着市面上的手机越来越多样化,以前好多方法到现在已经不管用,或者说要做到很好的适配需要添加各种特例,这样大大增大我们研发的难度和时间。之前我总结了一些比较管用的方法,记录一下,并且希望可以帮到大家。1、关于一些基础知识请看我上一篇文章《android多分辨率开发的解决方案》;如果已经知道一些适配的基础知识可以直接往下看;这篇文章

2014-11-29 17:33:51 2449

原创 android多分辨率开发的解决方案

参考资料:http://blog.sina.com.cn/s/blog_7ce2cb410100yl0y.htmlhttp://www.eoeandroid.com/thread-193122-1-1.html时下的android手机屏幕分辨率各式各样,要想开发一个能适应各种手机的应用确实不容易。现在说说我最近学习的一些解决方案。首先介绍几个必须理解的概念:物理

2013-08-11 01:46:18 1712

Android 简易的自定义动画框架(3)高仿腾讯手机管家火箭动画

请看博客文章: 【Android进阶】如何写一个很屌的动画(3)---高仿腾讯手机管家火箭动画,http://blog.csdn.net/scnuxisan225/article/details/50454948

2016-01-04

Android 简易的自定义动画框架(2)

请看博客文章: 【Android进阶】如何写一个很屌的动画(2)---动画的好帮手们,http://blog.csdn.net/scnuxisan225/article/details/50452792

2016-01-04

Android 简易的自定义动画框架

请看博客文章: 【Android进阶】如何写一个很屌的动画(1)---先实现一个简易的自定义动画框架,http://blog.csdn.net/scnuxisan225/article/details/50448996

2016-01-02

Android自定义动画框架及Demo

请看博客文章:【Android进阶】如何写一个很屌的动画(1)---先实现一个简易的自定义动画框架,http://blog.csdn.net/scnuxisan225/article/details/50448996

2016-01-02

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

TA关注的人

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