Android
文章平均质量分 52
浮城大亨
研发手机
展开
-
LruCache和DiskLruCache代码案例
```javaimport android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.os.Environment;import android.util.L...原创 2019-10-23 11:14:15 · 146 阅读 · 0 评论 -
常用英语单词
gallery 画廊、走廊 overlay 覆盖 picker 采摘者 album 相册、专辑 drag 拖拽 animate 动画 rational 理性 media 媒体 smooth 光滑 velocity 速度 gerate 伟大的 detection 侦察 prelimary 初步 customize 定制 rear 抚养、养育 concrete 具体的 r原创 2016-03-30 14:50:49 · 494 阅读 · 0 评论 -
View绘制之layout过程
这篇博客主要是接着上一篇为大家讲述View绘制的第二步layout(布局)全过程:首先要为大家普及一些相关知识:/** * Left position of this view relative to its parent. * //当前View的左边位置相对与父元素 * @return The left edge of this view, in pixels.原创 2016-06-27 23:27:39 · 1282 阅读 · 0 评论 -
View的事件分发机制(Activity篇)
这篇博客主要介绍在一个TouchEvent从Activity传递到View的流程,照例附上一张流程图:我们的TouchEvent首先接收到这个TouchEvent的是Acitivty中的dispatchTouchEvent(MotionEvent ev)方法,这个方法里面第19行是将这个Touch事件分发下去。但这只是在这个事件在窗口内,如果在窗口外, 则由Activity本身的onTouchEv原创 2016-07-21 17:42:44 · 2348 阅读 · 0 评论 -
ADB命令的使用
adb root 获得root权限 adb reboot 重启手机 adb remount 重新挂载系统分区, 使系统分区重新可写 adb shell 执行命令必须进入shell环境 /system/priv-app 表示系统App所在的路径 adb pull 从手机获取文件 adb push 向手机写入文件实践 adb root adb remount adb she原创 2016-03-04 17:59:16 · 696 阅读 · 1 评论 -
View的事件分发机制(ViewGroup篇)
/** * {@inheritDoc} */ @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (mInputEventConsistencyVerifier != null) { mInputEventConsistencyVerifier.原创 2016-08-03 19:58:00 · 1167 阅读 · 0 评论 -
View的事件分发机制(View篇)
上篇博客为大家介绍了ViewGroup的事件分发机制,调用View的dispatchTouchEvent()方法,同样本篇采用源码注释的方式解析源代码,如果没有兴趣可以跳到本篇博客的结尾获得该段源码所得到的结论:/** * //向下传递这个touch屏幕事件去目标的View,或者这个View就是指定目标的View * Pass the touch screen motion ev原创 2016-09-28 09:26:45 · 382 阅读 · 0 评论 -
View绘制之draw过程
这篇博客主要为大家介绍View绘制过程的最后一步,draw的过程。下面一张流程图为大家展示一下:下面这段是draw()方法的源代码: /** * 手动的给View(和所有它的子View)制定的Canvas.在这个方法被调用之前这个View必须已经 * 做了一个完整的布局。当重新绘制一个View,重载onDraw()方法代替重载这个方法。如果你要 * 重载这个方法原创 2016-07-12 15:15:56 · 1610 阅读 · 0 评论 -
Handler与HandlerThread、IntentService源码解析
在前面的博客当中为大家分析过了Handler的源码,今天这篇博客的主要内容是为大家结合HandlerThread讲述一下Handler的另外一种比较酷炫的用法,以及这种酷炫的用法又是如何结合Service创造出IntentService这么酷的类的。首先为大家总结一下前面Handler几个关键的核心知识点: 1、Handler是通过Handler的实例化对象进行线程间的切换的 2、Handler原创 2016-05-26 22:30:06 · 773 阅读 · 0 评论 -
View绘制之measure过程
本篇博客为大家介绍View原理中的measure过程,首先为大家介绍类MeasureSpec,下面是谷歌关于MeasureSpec的英文注释// 一个MeasureSpec封装了从父布局传给子布局的布局要求1、A MeasureSpec encapsulates the layout requirements passed from parent to child.//每个MeasureSpec原创 2016-06-22 10:53:36 · 563 阅读 · 0 评论 -
Handler消息机制源码解析(一)
我们首先讲述Handler的创建 Hander有四种构造方法public Handler() { this(null, false); }public Handler(Callback callback) { this(callback, false); } public Handler(Looper looper) { this(lo原创 2016-03-18 14:59:09 · 635 阅读 · 0 评论 -
NDK环境变量的配置以及编译方法(linux环境下)
1、下载NDK 2 、配置NDK的环境变量 a 、sudo gedit .bashrc (这里的bashrc文件在不同电脑下所在的路径不同) b 、export PATH=$PATH:/work/Android_NDK/android-ndk-r10e(/work/Android_NDK/android-ndk-r10e这个为ndk所在的路径) c 、source .bashrc 3 、编原创 2016-02-25 10:29:50 · 6104 阅读 · 0 评论 -
Handler消息机制源码解析(二)
上一篇Handler消息机制(一)为大家讲述了Handler是如何创建的这篇Handler消息机制(二)将为大家介绍Handler是如何发送消息的。 一般使用的Handler方法Handler.post(Runnable)Handler.sendEmptyMessage()Handler.sendMessage()Handler.sendMessageDelayed()这四种方法是大家在Ap原创 2016-03-21 11:17:13 · 641 阅读 · 2 评论 -
Handler消息机制源码解析(三)
这一篇博客主要为大家介绍Handler怎么接收到消息的,大家都知道Handler接收消息是在handleMessage方法里面,但是具体怎么接收到的很多人并不知道,下面让我们一起去看一下。大家都知道在子线程中实例化Handler对象之前除了了要添加Loop.prepare(),在之后还需要写Loop.loop()。在前两篇文章都没有提到Loop.loop()这个方法,第三篇就要提到这个方法了,因为接原创 2016-03-23 20:37:32 · 518 阅读 · 0 评论 -
Handler消息机制源码解析(四)
这篇文章主要为大家讲述Handler使用过程中的一些优化小技巧(至于为啥么要这么做就又要来给大家说说源码了),以及在使用Handler过程中不小心会存在的内存泄露的情况。 首先大家来看一段代码:Message messageTest = new Message();mHandler.sendMessage(messageTest);再来看另一断代码的写法:Message message = mH原创 2016-03-24 09:05:06 · 474 阅读 · 0 评论 -
日志分析总结
整机开发中日志分这几种 1、bugreport ANR信息、版本信息、手机型号 2、device JAVA层的日志信息 3、kernel CPU的使用情况、内存的使用情况 4、radio 网络使用情况 5、event ActivityManager 活动管理类 ServiceManager 点击事件日志具体分析方法 1、PID、UID PID表示每个进程 每个进原创 2016-03-30 14:29:00 · 2198 阅读 · 1 评论 -
AsyncTask源码分析之Android篇
在上一篇AsyncTask源码分析中为大家做了一些基础知识的铺垫,这篇就为大家真正解析一下AsyncTask源码: 首先为大家介绍一些AsyncTask的一些特性: 1、AsyncTask在3.0版本以后默认是串行的 2、AsyncTask不能在非UI线程中创建 3、AsyncTask任务数量上限是128个 4、AsyncTask只适合短时间几秒的耗时操作,不适合长时间的耗时操作首先大家看原创 2016-06-05 19:09:50 · 492 阅读 · 0 评论