- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 Messenger源码分析
一.使用:参考file:///E:/sdk/adtbundlewindows64/sdk/docs/guide/components/bound-services.html#Binding Using Messager 二.源码分析 IMessage.aidl /** @hide */ oneway interface IMessenger { void send(in Messag
2016-05-23 08:51:02 575
原创 Binder实现机制--应用分析
一.Binder裸实现--不用aidl,自己手动实现发送和接收:核心在发送:transact调用,接收:onTransact 1.客户端 // myActivity.java // ……… public class myActivity extends Activity implements OnClickListener { private IBinder ib = null;
2016-05-23 08:49:31 308
转载 IMessenger源码
/* * This file is auto-generated. DO NOT MODIFY. * Original file: frameworks/base/core/java/android/os/IMessenger.aidl */ package android.os; /** @hide */ public interface IMessenger ext
2016-05-23 08:48:30 1352
原创 PropertyValuesHolder实现机制
一.使用 二.实现 /* 该类维护一个属性和该属性对应的一堆的KeyframeSet */ PropertyValuesHolder { String mPropertyName; KeyframeSet mKeyframeSet = null; protected Property mProperty; Method mSetter = nu
2016-05-19 09:12:33 328
原创 StateListDrawable实现机制
一.使用 二.实现 问1:view如何绘制drawable到自己身上? View.java public void draw(Canvas canvas) { ... // Step 1, draw the background, if needed final Drawable background = mBackgrou
2016-05-19 09:12:02 441
原创 TabHost实现机制_源码分析
0.TabHost使用Demo 布局文件: android:id="@android:id/tabhost" android:layout_width="match_parent" android:layout_height="match_parent" > android:layout_width="match_parent" android:layout_heigh
2016-05-19 09:11:22 420
原创 消息机制实现_源码分析
1.主要涉及到三个类MessageQueue,Looper,Handler.附带一个ThreadLocal 其中Looper类为引擎,ThreadLocal保存所有线程创建的Looper实例,以map(key=Thread,value=Looper对象)形式保存 为何Looper类是引擎?因为Looper维护ThreadLocal和MessageQueue(MessageQueue维护Mess
2016-05-19 09:10:37 358
原创 ValueAnimator实现机制_源码分析
一.使用 ValueAnimator valueAnimator = ValueAnimator.ofInt(1, 100); // 入口1 valueAnimator.addUpdateListener(new AnimatorUpdateListener() { // 入口2 // 持有一个IntEvaluator对象,方便下面估值的时候使用 private IntEval
2016-05-19 09:09:56 1030
原创 ObjectAnimator实现机制_源码分析
一.使用 入口1: ObjectAnimator anim = ObjectAnimator.ofInt(foo, "alpha", 1, 100); 入口2: anim.setDuration(1000); anim.start(); 二.实现 0.ObjectAnimator继承ValueAnimator 1.入口1: ObjectAnimator anim = O
2016-05-19 09:09:16 836
原创 Choreographer实现机制_源码分析
一.使用 If your application does its rendering in a different thread, possibly using GL, or does not use the animation framework or view hierarchy at all and you want to ensure that it is appropriately
2016-05-19 09:08:38 1863
原创 enum和Enum关系
1.例子:使用jad.exe将enum定义的枚举类型反编译成Enum的类类型 TestEnum.java public enum TestEnum { ONE(false), TWO(true); boolean mIsSelected; private TestEnum(boolean isSelected) { this.mIsSelected = isSelected;
2016-05-16 09:19:26 978
原创 ThreadLocal实现
1.用法 private ThreadLocal mBooleanThreadLocal = new ThreadLocal(); ... mBooleanThreadLocal.set(true); mBooleanThreadLocal.get(); ... new Thread() { public void run() { mBooleanThreadLocal.set(
2016-05-05 08:15:25 369
原创 LruCache实现
实现很简单,就相当于封装了LinkedHashMap(开启Lru算法),只是每次删除的时候检查当前数据大小是否超过阈值,如果超过则调用LinkedHashMap最老的元素(循环双向链表中维护的)
2016-05-05 08:14:38 390
转载 Fragment+FragmentTabHost实现仿新浪微博底部菜单栏
Fragment+FragmentTabHost实现仿新浪微博底部菜单栏 标签: FragmentFragmentTabHostAndroid底部菜单栏仿新浪微博Android选项卡 2013-06-03 21:38 57308人阅读 评论(72) 收藏 举报 分类: Android UI设计与开发(17) 版权声明:本文为博主原创文章,未经博主
2016-05-03 10:43:16 564
转载 java的静态和非静态内部类
一致对java的静态和非静态内部类的东东理解不清楚,今天测试了一下,下面把测试结果记录一下,加深印象。用于以后查找。 直接上代码。 Java代码 package com.test.xml; /** * @author du.qiang * @version $Revision 1.1 $ 2010-6-23 上午06:48:28 *
2016-05-01 09:42:28 358
安全帽检测的完整代码
2023-11-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人