- 博客(9)
- 收藏
- 关注
原创 《Android开发艺术探索》笔记总结——第三章:View的事件体系
View的基础知识坐标:ViewGroup继承了View,所以ViewGroup本身就是个ViewView的的位置是有四个顶点来决定的,分别对应着top、left、right、bottom四个属性,Android中的坐标系是倒着的,x轴的正方向向右,y轴的正方向向下,一个View的坐标表示如图:所以View的宽和高需要坐标相减来得到width = right - leftheight...
2018-12-29 14:26:04 215
原创 《Android开发艺术探索》笔记总结——第二章:IPC机制
记录下之前自己面试的几个问题:提问:Android底层的IPC机制是什么?答:Binder提问:Linux中还有那些进程间通讯的方式?答:共享内存、消息队列、Socket、管道、共享文件、信号量提问:Linux中还有很多进程间通讯的方式,问什么Android选择了Binder?答:emmmm毫无疑问最后跪了,虽然之前也了解了Binder的运行机制,但是从来没有想过这个问题,这准备这篇...
2018-12-19 15:03:56 390
原创 Android判断文本编码格式
前几天项目中有这样的需求:客户端需要在服务器下载一个文本文件显示出来。bug是mac上的中文显示乱码。通过查找看项目中的老代码,原因是代码中使用的是通过BOM头的判断方式来判断文本的编码格式,如果没有BOM头,代码中就都识别成了GBK编码。虽然在Windows上utf-8的编码都默认添加BOM头,但是也可以使用无BOM头的UTF-8来保存的,而在mac上默认的UTF-8都是无BOM的编码格式,所以...
2018-12-13 18:19:05 5305 2
转载 Failed to resolve: com.android.support:appcompat-v7:26.0.0
从api 26开始,support libraries 需要从google的maven仓库下载,所以需要在project的build.gradle中allprojects 添加如下配置即可maven { url "https://maven.google.com" }这样如果本地没有设置的v7包的版本,AS会去网络上下载,因为在AS2.0的时期,默认的maven库是 jcenter(),3....
2018-12-12 16:14:37 1293
原创 《Android开发艺术探索》笔记总结——第一章:Activity的生命周期和启动模式
Activity的工作原理启动Activity的请求会由Instrumentation来处理,然后它通过Binder向AMS发请求,AMS内部维护着一个ActivityStack并负责栈内的Activity的状态同步,AMS通过ActivityThread去同步Activity的状态从而完成生命周期方法的调用。Activity的生命周期1)正常的生命周期 OnStart 和onResume...
2018-12-07 14:43:25 226
转载 什么是线程同步,什么是线程异步?同步的好处与弊端
转载链接:什么是线程同步,什么是线程异步?同步的好处与弊端线程同步:是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低线程异步:访问资源时在空闲等待时同时访问其他资源,实现多线程机制异步处理就是,你现在问我问题,我可以不回答你,等我用时间了再处理你这个问题.同步不就反之了,同步信息被立即处理 – 直到信息处理完成才返回消息句柄;异步信息收到后将在后台处理一段时间 – 而早在信息处...
2018-12-06 11:28:40 1919
转载 Android 中动画的使用总结
文章是对HenCoder Android 自定义 View 1-6:属性动画 Property Animation(上手篇)的总结,读者可以直接通过链接看 HenCoder 的这篇文章。动画分类帧动画:即Drawable动画,是通过多张动画依次播放来达到动画的效果,使用AnimationDrawable类来完成,效果比较简单View动画:即补间动画,这种动画效果没有改变View的实际响应位置...
2018-12-03 18:01:01 389
原创 Launcher中值得学习的一些方法
HandlerThread的使用在上一篇文章中提到了HandlerThread类,先来看看HandlerThread的源码public class HandlerThread extends Thread { int mPriority; int mTid = -1; Looper mLooper; public HandlerThread(String nam...
2018-12-02 20:31:56 289
原创 Launcher中数据的加载流程
承接上一篇文章Launcher的相关知识,当我们进入startLoader方法中,看到最后有这样一行代码sWorker.post(mLoaderTask);第一想法是开启了子线程,要执行耗时操作,想想也对加载数据当然是耗时操作要开启子线程。但是别急者去看runnable中的逻辑,先来看看sWorker这个Handler吧。private static final Handler sWork...
2018-12-01 22:24:57 424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人