ANDROID
文章平均质量分 78
WUZHENDAO
这个作者很懒,什么都没留下…
展开
-
View自定义注意问题
ViewGroup的onMeasure方法,测量的值应该是父容器的内边距加上所有子元素的测量宽高和外边距原创 2015-04-29 15:56:38 · 525 阅读 · 0 评论 -
ThreadLocal及在Android中的应用
ThreadLocal 在线程内部共享数据,而不是线程间共享数据。 ThreadLocal在Android中有多处应用,其中一处是在Looper中的应用:public final class Looper { ...省略static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>()原创 2016-05-31 21:32:03 · 716 阅读 · 0 评论 -
Android要点
1: Launcher实际上是一个activity,它是安卓系统中的桌面启动器,用来实现显示系统首页,即HOME界面public final class Launcher extends Activity implements View.OnClickListener, OnLongClickListener, LauncherModel.Callbacks,原创 2016-05-03 10:10:11 · 1028 阅读 · 0 评论 -
Android中的坐标总结
(1) View包括四个基本的布局成员变量(mLeft,mTop,mRight,mBottom),他们可以通过View.layout(int l, int t, int r, int b) 设置, layout的过程就是确定View在屏幕上显示的具体位置,在代码中就是设置其成员变量mLeft,mTop,mRight,mBottom的值,这几个值构成的矩形区域就是该View显示的位置,不过这里的具体位原创 2016-05-19 09:34:06 · 588 阅读 · 0 评论 -
canvas
canvas是画布的意思,有一点必须记清楚不管我们怎么移动和旋转画布我们所绘制的内容,一定是在画布上的,提到canvas我们必须首先要讲解它的一难以理解的方法(对我来说)rotate(degree)方法这个方法是花费我最长时间理解的方法,网上有好多说的都不对,这个方法是旋转,大家一定要记住它旋转的是坐标系,并不是画布我们可以通过一个小的例子进行验证如下部分代码canvas.drawRect(100,原创 2016-05-18 17:44:19 · 403 阅读 · 0 评论 -
为什么说GUI是单线程化的
现代的gui框架使用了一个略微不同的模型:模型创建了一个专门的线程,事件派发线程(event dispatch thread,RDT)来处理gui事件。单线程化的GUI框架并不仅仅存在于java中:Qt、NextStep、Macos Cocoa、XWindows,等等都是单线程化的。也并不缺少反面的尝试;有很多试图写出多线程的GUI框架的努力,最终都由于竞争条件和死锁导致的稳定性问题,又回到了单线程转载 2016-05-31 14:39:13 · 2443 阅读 · 0 评论 -
Android异步消息处理之AsyncTask
首先看一下AsyncTask的基本结构 从中我们可以得到3个比较重要的信息点: 1、AsyncTask为了防止线程阻塞而用于执行简单的异步处理的类,为了与UI线程交互的,因此如果工作线程不与UI线程交互,无需使用AsyncTask,直接用Thread即可。 2、比起Handler实现异步的过程:需要使用到Handler, Looper, Message,Thread四个对象,并需要通过原创 2016-05-31 08:35:27 · 475 阅读 · 0 评论 -
Android异步消息处理之Looper,Handler,Message,MessageQueue
(一)Loop,Handler,Message,MessageQueuepublic final class Looper { // sThreadLocal.get() will return null unless you've called prepare(). static final ThreadLocal<Looper> sThreadLocal = new Thre原创 2016-05-29 10:19:19 · 360 阅读 · 0 评论 -
触摸手势详解
1 onTouchEvent与onTouchView.java(基于android2.3.3):public boolean dispatchTouchEvent(MotionEvent event) {//返回true,表示该View内部消化掉了所有事件。返回false,表示View内部只处理了ACTION_DOWN事件,事件继续传递,向上级View(ViewGroup)传递。if (li !原创 2016-05-27 09:03:59 · 637 阅读 · 0 评论 -
自定义View需注意问题
<LinearLayout android:layout_width="150dp" android:layout_height="150dp" > <!-- 使用自定义view --> <com.stone.view.CustomView1 ***android:layout原创 2016-05-24 08:38:56 · 880 阅读 · 0 评论 -
Binder
Binder呢,其实就是一块内存,它在Linux层面属于一个驱动,但是这个驱动不是驱动硬件,而是驱动一块内存。 应用之间进行通讯,必须要有暗号,当两个应用持有相同的暗号(AIDL时),才可以进行通讯。Binder在Android系统中江湖地位非常之高。在Zygote孵化出system_server进程后,在system_server进程中出初始化支持整个Android framework的各种各样的原创 2016-05-12 09:02:46 · 425 阅读 · 0 评论 -
WindowManager
Android 大部分的系统Services 都运行在 System Server 这个进程里,用一个简单的方法来看看都有哪些重要的Service, “ps -t | grep ” 看看,System_Server进程有多繁重,里面有这么多的线程,图中黄色高亮的是各个service的主服务线程,每个service都会有一个服务主线程和若干个后台线程,实际运行中数量会动态增长,因为应用程序对S原创 2016-05-06 07:22:04 · 1600 阅读 · 0 评论