![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 87
behind47
这个作者很懒,什么都没留下…
展开
-
LinearLayout的layout_weight属性的计算
layout_weight表示view分配到的额外的布局空间,可正可负。布局的时候,系统先按照view的layout_width和layout_height来布局,然后再根据layout_weight对view的位置进行调整。举例来说<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://s...原创 2018-07-07 20:14:25 · 8521 阅读 · 0 评论 -
Gradle新工程报错
AS3.0.1创建一个新工程,选择API V25,报错Error:Execution failed for task ':app:preDebugAndroidTestBuild'.Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for a...原创 2018-07-15 16:57:30 · 351 阅读 · 0 评论 -
ThreadLocal源码分析
ThreadLocal是一个线程内部的数据存储类,在主线程中实例化的ThreadLocal对象会在每个子线程中生成一个副本,这个副本是线程隔离的,只能在当前线程下才能访问。Android中的Looper、ActivityThread以及AMS中都用到了ThreadLocal。这里分析的源码版本是JDK 1.8。先从一个使用范例开始,在主线程中实例化一个ThreadLocal对象,然后在Th...原创 2018-07-22 00:30:41 · 941 阅读 · 0 评论 -
RemoteViews的应用和原理
RemoveViews的应用和原理《Android开发艺术探索读书笔记》概念RemoteView是一个可以在其他进程中显示的View结构。RemoteViews提供了一组基础的操作用于跨进程更新它的界面。应用场景 通知栏 桌面小部件 RemoteViews的应用通知栏——NotificationManager使用RemoteViews实现自定义视图...原创 2018-08-06 02:24:50 · 416 阅读 · 1 评论 -
Android消息机制的Handler
Handler是Android消息机制的核心,但是要分析Handler的原理离不开MessageQueue和Looper。所以三者要一起分析。待解决问题:为什么在子线程中执行new Handler()会抛出异常?先看图这是描述Android消息机制的一张图,每个线程有一个Looper和一个MessageQueue,以及若干个Handler。其中MessageQueue存放了一系列Mes...原创 2018-08-19 12:30:04 · 211 阅读 · 0 评论 -
Android消息机制的Handler+
前面分析了Handler,MessageQueue,Looper之间是如何协作实现Android的消息机制的,但是还存在许多问题。比如: Looper.loop是一个死循环,它是怎样退出的?当MessageQueue中没有Message的时候会发生什么? Message的异步和同步是什么?在处理的时候有什么区别? 看源码的时候不要纠结于细节,重点看流程。前面就是看流程,省...原创 2018-08-19 13:49:39 · 235 阅读 · 0 评论