- 博客(12)
- 收藏
- 关注
转载 View事件分发
转载自:https://blog.csdn.net/carson_ho/article/details/54136311 <div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="po...
2018-08-13 22:12:40
297
转载 Android view绘制流程
转载自https://blog.csdn.net/qq_19431333/article/details/54598789,有改动 前言Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等 今天,我将全面总结Android的事件分发机制,我能保证这是市面上...
2018-08-13 21:54:29
189
原创 ViewGroup.LayoutParams 和 MeasureSpec
1.LayoutParams LayoutParams 是ViewGroup的内部静态类 ,ViewGroup的子类(如RelativeLayout,LinearLayout,FrameLayout)都有其对应的 ViewGroup.LayoutParams的子类,如RelativeLayoutParams LayoutParams 的作用:指定视图View 的高度(heig...
2018-08-13 21:27:59
2471
1
原创 Message,MessageQueue,Handler和Looper的关系,Handler机制
1.关于Message,MessageQueue,Handler和Looper的关系:Looper不断的从MessageQueue中取出消息,交给Handler去处理,looper和线程绑定 来看一下这几个类的源码 参考Message 源码,其主要成员变量如下:public final class Message implements Parcelable { publ...
2018-08-13 18:51:10
879
原创 Handler使用实例
实例1:post(Runnable r)和post(Runnable r, long delayMillis),将指定Runnable(包装成PostMessage)加入到MessageQueue中,然后Looper不断从MessageQueue中读取Message进行处理。该用例只是new了Runable,但无Thread.start()的调用,因此并没有开启子线程其中acti...
2018-08-13 17:09:01
2821
原创 ViewPager+Fragment的预加载和懒加载
懒加载,就是延迟加载,等到该页面的UI展示给用户时,再加载该页面的数据(从网络、数据库等),而不是依靠ViewPager预加载机制提前加载两三个,甚至更多页面的数据.这样可以提高所属Activity的初始化速度,也可以为用户节省流量.而这种懒加载的方式也已经/正在被诸多APP所采用。 ...
2018-08-08 22:56:45
285
原创 fragment的两种切换方式(add,replace),fragment重叠问题
fragment的两种切换方式:1.通过add方法添加fragment,再通过hide,show决定显示哪一个fragment,此方式是将fragment隐藏而非重建2.replace:每次都是重新创建fragment用一个demo展示如下:首页activity的布局如下:<?xml version="1.0" encoding="utf-8"?><L...
2018-08-08 22:45:36
24567
原创 Fragment生命周期
Fragment优点: 1、模块化:不需要把所有代码都写在activity中2、可重用:多个activity可重用一个fragement3、可适配:可以根据屏幕的尺寸,屏幕方向,方便的实现不同的布局 Fragment官方定义:A Fragment represents a behavior or a portion of user interface in an Activ...
2018-08-05 21:05:46
519
原创 Activity生命周期总结
Activity的四种状态运行状态:Activity位于栈顶,此时处于屏幕最前方 暂停状态:Activity失去了焦点但仍然处于可见状态,如栈顶的Activity是透明的或者并不铺满整个屏幕 停止状态:Activity被其他activity完全遮挡,此时activity对用户不可见 销毁状态:Activity由于人为或系统原因(如低内存等)被销毁Activity的生命周期函数如下:...
2018-08-05 16:22:54
284
原创 自定义Toast封装后使用
//两种Toast布局//仅提示语<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" a...
2018-07-21 18:08:25
426
原创 使用@IntDef/StringDef注解来代替枚举
对于枚举来说占用的内存往往是使用静态常量的两倍,因而我们要尽量避免在Android中使用枚举。因而使用@IntDef注解来代替枚举是个不错的选择。 主要代码如下,使用了@IntDef注解@StringDef的用法类似 //activity codepublic class MainActivity extends AppCompatActivity { ...
2018-07-21 16:09:42
551
转载 ARM与X86 CPU架构对比区别
ARM与X86 CPU架构对比区别CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指令来完成所需的计算任务。RISC和CISC是设计制造微处理器的两种典型技术,虽然它们都是试图在体系结构、操作运行、软件硬件、编译时间和运行时间等诸多因素中做出
2018-01-13 13:39:04
614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人