- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 Glide加载过程分析
注:以下分析基于glide 4.0.0-RC1 版本,主要分析基于网络图片的加载 GitHub地址Glide 基本用法RequestManager requestManager = Glide.with(MainActivity.this);RequestBuilder requestBuilder=requestManager.load("https://github.com/bumptech
2017-09-10 20:16:52
377
原创 《Linux私房菜》读书笔记
在 Linux系统中,每一个硬件设备都被当成一个文件来对待,几乎所有的硬件设备文件都在 /dev这个目录下。挂载,所谓挂载就是用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是说,进入该目录就可以读取该分区的。文件权限的概念: eg: drwxr-xr-x 5 root admin 170 4 2 14:46 Users a. 第一个字符d代表这个文件是目录、文件、
2017-08-18 11:53:54
251
原创 Android UI 流畅度相关
## Android 渲染机制 Android系统每隔16ms发出VSYNC((Vertical Synchronization 垂直同步))信号,触发对UI进行渲染。如果系统发出VSYNC信号,而此时无法进行渲染,还在做别的操作,那么就会导致丢帧的现象,即屏幕的刷新速率大于帧率。之所以是16ms,是因为人眼与大脑之间的协作无法感知超过60fps(1000ms/60=16.6ms)的画面更新,
2017-06-03 20:58:48
1490
原创 Fragment 分析
先来看看 Fragment 的用法: Fragment fragment = new Fragment(); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction();
2017-05-28 09:23:49
400
原创 RecyclerView分析
概要RecyclerView能够在有限的视图中展示大量的数据,RecyclerView只会和ViewHolder进行接触,而Adapter的工作就是将Data转换为RecyclerView认识的ViewHolder,因此RecyclerView就间接地认识了Data。而LayoutManager负责完成布局的具体工作,而Recycler负责对 View进行管理,而ItemAnimator负责与Vie
2017-05-21 08:19:59
586
原创 Android点击事件分发机制
一,View的事件分发先概述下 View事件分分流程:View.dispatchEvent->View.setOnTouchListener->View.onTouchEvent,接下来详细分析各个流程: 1. dispatchEvent public boolean dispatchTouchEvent(MotionEvent event) { //**************
2017-05-13 10:26:59
393
原创 View 体系
View的基础View的位置参数View的四个属性:top、left、right、bottom,其中 left是左上角横坐标,top是左上角纵坐标,right是右下角横坐标,bottom 是右下角纵坐标。这些坐标都是相对于 View的父容器;View 的width、height: width=right-left , height=bottom-top ;从 Android3.0开始,View
2017-05-06 09:46:12
240
原创 AsyncTask分析
AsyncTaskAsyncTask对于执行耗时任务之后更新UI是一把利器,当然也是替代Thread + Handler 的一种方式。 下面是一个简单的用例: public void onClick(View v) { new MyAsyncTask().execute(); } private class MyAsyncTask extends AsyncTask<
2017-04-23 09:00:33
194
原创 Android消息机制
一, Looper1 . Looper是一个线程的消息循环器,默认情况下,线程中是没有 Looper的。Looper的经典用法如下:class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare();
2017-04-15 10:02:17
216
原创 常用命令行
Git相关配置用户名: git config --global user.name "Your Name” ;配置邮箱:git config --global user.email " email@example.com”;初始化:git init ;把文件添加到仓库:git add readme.txt ;把文件提交到仓库 : git commit -m "you own notes"
2017-02-22 08:23:34
292
原创 Material Design
一,Material Design涉及的主要View: 1,CoordinatorLayout 2, AppBarLayout 3,CollapsingToolbarLayout 4,Toolbar二,基本布局的使用: 布局一:<android.support.design.widget.CoordinatorLayout xmlns:android="
2016-10-12 22:50:57
204
原创 LayoutInflater.inflate()简单总结
一,LayoutInflater.inflate()的使用: LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 或:LayoutInflater layoutInflater=LayoutInflater.from(con
2016-10-10 22:14:11
209
原创 EventBus基础
EventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模式(Publish/Subsribe),或称作观察者设计模式。EventBus 文档:http://greenrobot.org/e
2016-07-14 10:23:36
246
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人