Android开发笔记(二) 关于弹窗

Android中提供几种不同的弹窗模式,Toast,Dialog,PopupWindow 每种弹窗又对应了不同的应用场景,我们可以根据不同业务场景来选择。下面将会分别介绍上面四种不同弹窗的应用,同时也对每中弹窗的源码和所遇到的问题进行分别分析。 1.Toast Toast是Android中最轻量级...

2018-10-25 19:27:15

阅读数 62

评论数 0

Android开发笔记(一)沉浸式状态栏

在Android开发中我们越来越重视用户的App操作体验,在使用App中我们主张减少对用户的干扰,经常会提到一致性体验。为了追求界面的风格的一致性,Google官方在Android 4.4 开始,支持了系统最上方的状态栏(StatusBar)和最下方的导航栏(Navigation Bar)可以被透...

2018-09-21 09:45:16

阅读数 72

评论数 0

为何在onCreate中通过View.post能获取宽高

我们在获取View的宽高时,其实执行的代码是: /** * Return the width of the your view. * * @return The width of your view, in pixels. */ @ViewDebug.ExportedProperty...

2018-08-16 17:45:53

阅读数 147

评论数 0

Android 从程序启动startActivity到生命周期变化的过程

在上篇文章中,我们了解了Android应用程序是如何启动的,也介绍了具体的流程调用。知道了整个APP的启动过程都是由ActivityThread类中执行的,而且启动中的生命周期的变化都是通过Handler消息机制来完成的。那么这篇将要具体介绍从启动到startActivity时生命周期变化的过程。...

2018-07-31 11:00:47

阅读数 335

评论数 0

Android 程序在系统中如何完成启动

一段程序的调用都有它的程序入口,众所周知Java程序的入口在main方法。作为Android来说应用程序的启动是通过 ActivityThread 类 来执行的。系统中对于该类的介绍如下: 该类是管理应用程序进程中主线程的执行,调度和执行活动,广播以及活动管理者请求的其他操作。 当我打开App...

2018-07-24 09:57:01

阅读数 114

评论数 0

Fragment启动过程,从getFragmentManager开始

概述时至今日,Fragment已经成为Android开发中应用最广泛的方案了,几乎每一个APP都离不开它的影子。为了更深入的理解其中原理,我们从Fragment中源码开始分析。这里我们选择V4包中的Fragment来进行分析。

2017-12-27 17:38:21

阅读数 326

评论数 0

关于Android混淆文件统一管理

概述对于学习Android开发的我们都知道,在发布生产包时需要对项目开启混淆,这样可以避免项目代码暴露在别人面前。而Android Studio在build.gradle文件配置上也非常贴心的提供了开启代码混淆的方式,开发者只要按照官方建议进行配置即可。

2017-11-17 09:15:23

阅读数 223

评论数 0

LinkedList源码解析(jdk1.8)

概述LinkedList实现了List接口,底层是基于双向链表的结构实现的。相对于ArrayList的数组结构,它在执行插入和删除操作时要比ArrayList更加高效,但是它的随机访问查找要比ArrayList逊色。

2017-09-21 10:09:46

阅读数 226

评论数 0

Vector源码解析(jdk1.8)

概述Vector实现了List的接口,底层同样是基于数组实现的,可以存储null。功能结构与ArrayList的类似,不同的是线程安全的。

2017-09-19 09:12:47

阅读数 450

评论数 0

ArrayList源码解析(jdk1.8)

概述ArrayList是基于数组实现的,它可以动态的增加和减少元素,灵活的设置数组的大小。

2017-09-11 10:44:37

阅读数 175

评论数 0

RxJava2.0中flatMap操作符用法和源码分析(五)

flatMap基本使用flatMap是变换操作符,使用一个指定的函数对原始Observable发射的每一项数据执行变换操作,这个函数返回一个本身也发射数据的Observable,然后flatMap合并这些Observable发射的数据,最后将合并后的结果当作它自己的数据序列发射。注意:flatMa...

2017-09-07 16:03:13

阅读数 3705

评论数 0

RxJava2.0中map操作符用法和源码分析(四)

map基本使用map是变换操作符,对原始Observable发射的每一项数据应用一个你选择的函数生成新的结果,然后返回一个发射这些结果Observable。

2017-09-04 09:07:48

阅读数 964

评论数 0

(转)Android Support兼容包详解

背景来自于知乎上邀请回答的一个问题Android中AppCompat和Holo的一个问题?, 看来很多人还是对这些兼容包搞不清楚,那么干脆写篇博客吧. Support Library我们都知道Android一些SDK比较分裂,为此google官方提供了Android

2017-09-01 09:56:52

阅读数 180

评论数 0

RxJava2.0中fromArray操作符用法和源码分析(三)

fromArray基本使用fromArray用来创建一个Observable对象,可以将一个数组转化为可被观察的序列并且将它的数据逐个发射。 fromArray与just相似,都可以用来发射单个或一组数据,但是区别是当fromArray发射一组数据到观察序列中来时,它会先进行遍历,然后再逐个...

2017-08-23 08:31:56

阅读数 3709

评论数 0

RxJava2.0中just操作符用法和源码分析(二)

just基本使用just是用来创建一个Observable来发射指定值,可以将任何对象转化为一个用来被发射的ObservableSource数据。这个方法与fromArray相似,除了from会将数组或者Iterable中的元素逐个取出然后在逐个依次发射,而just会直接将数组或者Iterable...

2017-08-22 08:48:41

阅读数 3492

评论数 0

RxJava2.0中create操作符用法和源码分析

create基本使用create是用来从头开始创建一个Observable的对象,应该调用ObservableEmitter的onNext, onError 和onComplete方法

2017-08-21 08:28:26

阅读数 324

评论数 0

AsyncTask源码解析

概述我们知道在Android应用开始程序运行时,系统会为应用启动一个单独的进程。默认情况下,该应用中的所有组件都会运行在相同的进程和主线程中。一个Android程序默认只有一个进程,但是你可以在清单文件中通过android:process 属性设置多进程。在同一个进程中,可以拥有多个线程。在这些线...

2017-08-14 11:02:44

阅读数 133

评论数 0

深入理解 Android 之 View 的绘制流程(五)_invalidate,postInvalidate和requestLayout

上几篇文章里,我们分别介绍了View的三大工作流Measure,layout,draw。在分析源码的过程中我们会发现View的绘制流程还会受到其他方法的影响。比如:requestLayout,invalidate,postInvalidate。下面我们来分别解析下这三个方法的不同调用。

2017-07-26 08:54:16

阅读数 468

评论数 0

深入理解 Android 之 View 的绘制流程(四)_Draw

前面我们介绍了Measure和layout,下面我们就开始分析Draw。先从ViewRootImpl中开始。

2017-07-25 08:45:20

阅读数 299

评论数 0

深入理解 Android 之 View 的绘制流程(三)_Layout

上篇介绍了ViewRootImpl调用View的测量操作,下面就开始介绍ViewRootImpl中的布局操作了。

2017-07-20 16:01:07

阅读数 154

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭