![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《Android开发艺术探索》
文章平均质量分 91
胡飞洋
公众号:胡飞洋, 爱打篮球、带看电影的Android开发者。
展开
-
Activity的启动过程详解(基于10.0源码) --《Android开发艺术探索》阅读笔记——第九章
概述话说Android中有四大组件:Activity、Service、BroadcastReceiver、ContentProvider。我们最常接触也是用户直接感受到的就是Activity了,今天来就说说Android启动的执行过程和工作原理。Activity是一种 展示型组件,用于展示给用户一个可以交互的页面。Activity是Android中最重要的组件,对用户来说,所有的Activity就是一个App的全部,而其他组件用户是不能直接感知的。在开发层面,要启动一个Activity可以使用Inten原创 2020-07-08 21:26:06 · 4549 阅读 · 6 评论 -
Bitmap的加载和Cache --《Android开发艺术探索》阅读笔记——第十二章
Bitmap,表示位图,由像素点构成。Bitmap的承载容器是jpg、png等格式的文件,是对bitmap的压缩。当jpg、png等文件需要展示在手机上的控件时,就会解析成Bitmap并绘制到view上。通常处理图片时要避免过多的内存使用,毕竟移动设备的内存有限。那么加载一张图片需要占用多大内存呢?考虑到效率加载图片时缓存策略是怎样的呢?一、Bitmap的加载1.1 Bitmap的内存占...原创 2020-02-23 21:06:06 · 2586 阅读 · 0 评论 -
Android的线程和线程池--《Android开发艺术探索》阅读笔记——第十一章
Android中的线程形态:AsyncTask、HandlerThread、IntentServiceAndroid中的线程池:ThreadPoolExecutor原创 2020-01-21 15:34:54 · 4568 阅读 · 1 评论 -
Handler:Android消息机制--《Android开发艺术探索》阅读笔记——第十章
消息机制原理~~~1、threadLocal理解:外界想要在不同thread中存值,就可以threadLocal = new threadLocal,然后然后再不同线程中threadLocal.set(value)就可以了。threadLocal:工具类,set get当前线程T类型的值get():获取当前线程的ThreadLocalMap的取index的Entry的value,index是...原创 2020-01-11 17:58:55 · 2785 阅读 · 0 评论 -
Android中的动画详解--《Android开发艺术探索》阅读笔记——第七章
/** * 动画 测试 * @author hufeiyang */public class AnimationTestActivity extends AppCompatActivity { private Unbinder unbinder; @BindView(R.id.textView1) TextView textView1; @BindV...原创 2020-01-11 18:07:10 · 872 阅读 · 0 评论 -
Window和WindowManager--《Android开发艺术探索》阅读笔记——第八章
文章目录一、Window和WindowManager1.1 window1.2 WindowManager二、window的内部机制2.1 window的添加2.2 window的更新2.3 window 删除三、常见Window的创建过程3.1 Activity的Window创建3.2 Dialog的window创建3.3 Toast的window创建Window,表示一个窗口的抽象的概念;...原创 2019-12-07 22:24:40 · 6273 阅读 · 1 评论 -
View的工作原理--《Android开发艺术探索》阅读笔记——第四章
文章目录1、ViewRoot 和 DecorView2、 MeasureSpec2.1MeasureSpec2.1MeasureSpec和LayoutParams的对应关系3、View的工作流程3.1Measure过程3.2Layout过程3.3Draw过程4、自定义View4.1自定义view的分类4.2 自定义view 注意点4.3 例子4.4 自定义view的思想1、ViewRoot 和 ...原创 2019-11-10 16:37:27 · 3823 阅读 · 0 评论 -
View事件分发、滑动冲突--《Android开发艺术探索》阅读笔记——第三章part2
目录一、事件分发1、事件传递规则2、源码分析1)Activity的分发过程:2)顶级View(ViewGroup)的分发过程:分发规则的伪代码来源的详细说明3)view的处理过程:主要是onTouchListener、OnTouchEvent、onClick的关系二、滑动冲突1、冲突场景2、解决原理3、举个例子View的事件分发,指的是 在多层级Vie...原创 2019-10-02 18:51:04 · 1486 阅读 · 0 评论 -
View的滑动--《Android开发艺术探索》阅读笔记——第三章part1
目录一、坐标系二、VelocityTracker、GestureDetector1、VelocityTracker2、GestureDetector三、View的滑动1、layout()2、offsetLeftAndRight、offsetTopAndBottom3、LayouParams4、动画5、scrollTo、scrollBy6、Scroller...原创 2019-03-03 16:50:11 · 1108 阅读 · 0 评论 -
IPC方式(AIDL)--《Android开发艺术探索》阅读笔记——第二章part3
四、使用AIDLMessenger是以串行的方式处理客户端发来的消息,如果大量的消息同时发送到服务端,服务端仍然只能一个个处理,如果有大量的并发请求,那么用Messenger就不太合适了。同时,Messenger的作用主要是为了传递消息,很多时候我们可能需要跨进程调用服务端的方法,这种情形用Messenger就无法做到了,但是我们可以使用AIDL来实现跨进程的方法调用。AIDL是Messe...原创 2018-05-05 19:40:35 · 373 阅读 · 0 评论 -
IPC方式(Bundle、文件共享、Messenger)--《Android开发艺术探索》阅读笔记——第二章part2
一、使用Bundle在一个进程中使用另外一个进程的Activity,Service,Receiver,在Bunlder中附加我们需要传输给远程进程的信息,然后用intent发送过去,当然,我们传输的数据必须能够序列化,比如基本数据类型,实现了Parcelable接口的对象,实现了Serializable接口的对象以及一些Android支持的特殊对象(具体内容可以看下Bundler这个类,Bun...原创 2018-05-05 17:17:00 · 317 阅读 · 0 评论 -
IPC—进程间通信的基础概念--《Android开发艺术探索》阅读笔记——第二章part1
一、Android中的多进程模式1、Android中多进程是指一个应用中存在多个进程的情况,因此这里不讨论两个应用之间的情况,首先在Android中使用多进程只有一种方法,那就是给四大组件指定android:process。 默认进程名是包名。 <activity android:name=".MainActivity" ...原创 2018-05-05 16:13:21 · 1431 阅读 · 0 评论 -
Activity启动模式--《Android开发艺术探索》阅读笔记--第一章part2
一、LaunchMode预备知识:任务栈(回退栈),后进先出1.standard(标准模式):默认启动模式,每创建一个新Activity,都会产生一个新的Activity实例并且放入相应的任务栈中。和典型的栈调用数据类似没多大区别。2.singleTop(栈顶复用模式):如果要新建的Activity本身已经有一个Activity实例位于栈顶时,那么这个Activity不会被重新创建,而...原创 2018-03-25 17:25:14 · 739 阅读 · 1 评论 -
Activity生命周期--《Android开发艺术探索》阅读笔记--第一章part1
(之前已经看了《Android开发进阶-从小工到专家》,感觉效果不是很好)《Android开发艺术探索》读书系列笔记,开启进阶之路。笔记可能不全是自己打的字,但是一定是我自己理解后梳理的内容。计划:2个月内 即5月底之前,把重点章节知识看完理解。此期间会去面试,检验效果。上半年,6月底目标:跳槽到一个好的平台,月薪增加30%以上。Activity生命周期高阶知识开始!一、正常情...原创 2018-03-24 21:09:00 · 577 阅读 · 1 评论