自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lance_W

知其然,而后知其所以然

  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android Jetpack--LiveData篇

本篇主要是Android Jetpack LiveData的原理解析和应用,并且通过源码的刨析,印证了LiveData在使用过程中出现的一些问题,有知道了LiveData怎么使用,想进一步了解LiveData是怎么实现数据的保存和观察的可以看看......

2022-07-10 18:18:29 618 1

原创 Android暴露组件——被忽略的组件安全

Intent简介: Intent(意图),负责完成Android应用、组件之间的交互与通信。常见的Activity的调用、Receiver的发送、Service的启动都需离不开Intent。Intent通常包含的信息:Categpry:种类、归类。Action:表明要做什么?通常代表了一个组件具有的能力。Data/Extras:通信的数据。Flags:规定了系统如何去启动一个Act...

2018-10-31 20:44:25 5682

原创 Android Handler消息机制原理最全解读(持续补充中)

Handler 在Android开发的过程中,我们常常会将耗时的一些操作放在子线程(work thread)中去执行,然后将执行的结果告诉 UI线程(main thread),熟悉Android的朋友都知道,UI的更新只能通过Main thread来进行。那么这里就涉及到了如何将 子线程的数据传递给main thread呢?  Android已经为我们提供了一个消息传递的机制——Hand...

2018-05-13 19:22:57 77366 28

原创 Android自定义View之View的测量onMeasure

Android自定义View之——View的测量 View的测量是通过函数measure来完成的,measure函数是由final进行修饰的,也就是说子类是无法重写该方法的。  通过View的源码可以看到,measure里面实际调用了onMeasure方法,该方法是可以被重写的。也就是在自定义View的时候, 测量View的尺寸大小通过重写onMeasure方法来完成。 prot...

2018-05-12 15:51:46 708

原创 Java设计模式之装饰者模式——代码里的故事——

装饰者模式引入: 装饰者模式,从字面上一看就能很容易联想到这是用来扩展一个类的,可以时扩展一个类是他具有某些属性和功能(方法), 那么,就有人会说了,扩展一个类,我在写一个子类继承他,然后在扩展对应的属性或者功能不就行了,为什么要用装饰者模式呢?难道他有什么独特的地方吗? 带着这个疑问,接下来就让我们去看看装饰者模式到底是怎样一回事呢?  现在我们有一场戏需要拍一下,在一个浪...

2018-04-11 18:56:13 609

原创 Java设计模式之模板方法设计模式——代码里的故事————

Java设计模式,写漂亮的代码————模板方法设计模式简介: 模板方法设计模式是Java设计模式中很简单、应用非常广泛的的一种设计模式,该模式体现了编程的抽象思想(抽象是所有子类的共性封装), 仅仅使用了Java的继承机制。其实很可能在你写代码的过程中已经使用过了很多次这种模式,只是你还不太清楚那就是模板方法设计模式。  接下来就让我们一起去看看,到底什么是模板方法设计...

2018-03-11 18:36:58 1613

原创 Android Go初探

Android Ore(Go edition)转载请注明出处[https://blog.csdn.net/wsq_tomato/article/details/78934573]简介: Android Go并不是一个独立的操作系统,它只是Android O的一种轻量级配置方案,专为1GB以下内存的机型设计, 在这种设置下,一些消耗大量资源的功能将被关闭,同时预装的应用也是轻量级的...

2017-12-29 19:55:13 10109

原创 Jetpack App Startup——SDK自动初始化,告别Init

还在调用XxxSDK.init吗?

2022-04-21 16:10:57 3245

原创 Android jetpack navigation

Navigation版本导入:ext.nav_version = "2.3.5"implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")implementation("androidx.navigation:navigation-ui-ktx:$nav_version")NavHostnavigation的宿主载体,即需要一个空的布局来承载fragment的切换。navigation的宿主需要实现Na

2021-12-24 17:39:30 1341

原创 Android Protobuf序列化

protobuf序列化proto文件生成java文件Android studio集成Gradle Plugin for Protobuf插件project build.gradlebuildscript { dependencies { classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18' }}protobuf-gradle-plugin github注:protobuf-gradl

2021-11-24 13:40:52 1547

原创 Kotlin征途之data class [数据类]

Kotlin之data class [数据类]kotlin正常声明一个类的方式class [类名],与java类似kotlin对类的声明还可以用data关键字来标记那些只用来保存数据的类,将其称之为数据类eg:data class User constructor(val name: String) { var nickName: String = ""}例如上面的user类就是声明的一个数据类数据类的声明必须满足下列的要求:主构造函数至少需要有一个参数主构造函数的所

2021-08-05 16:21:53 1408

原创 读书小记——Activity

Activity读书小记首先是Activity的生命周期,简单回顾:onCreate:创建。onStart:可见不可交互,即未位于前台。onResume:可见可交互,即已位于前台。onPause:可见但不可交互。onStop:停止,不可见不可交互onDestroy:销毁。onReStart:重新启动。即执行完onPause和onStop但未执行onDes...

2019-02-19 16:27:38 297

原创 Git手册

Git基本设置篇配置用户信息配置用户名:git config –system user.name “name” 配置邮箱:git config –system user.email “[email protected]” 对应/etc/gitconfig文件,系统全局配置,作用于所有用户配置用户名:git config –global user.name “name” 配置邮箱...

2018-09-15 16:38:02 430

原创 ThreadLocal,看我就够了!

ThreadLocal开胃菜 研究过Handler的应该对ThreadLocal比较眼熟的,线程中的Handler对象就是通过ThreadLocal来存放的。初识ThreadLocal的可能被它的名字有所误导,ThreadLocal初一看可能会觉得这是某种线程实现,而实际并非如此。事实上,它是一个全局变量,用来存储对应Thread的本地变量,这也是为什么将其称之为Local。当使用...

2018-09-04 20:59:54 3959 2

原创 Handler进阶之sendMessage原理探索

Handler进阶之sendMessage 本文主要进一步的探索Handler,主要介绍下Handler是如何发送消息的?  用过Handler的想必对一下几个方法都不会陌生:sendMessage(Message msg);//立刻发送消息sendMessageAtTime(Message msg, long atTime);//在某个时间点发送消息sendMessageD...

2018-07-03 09:51:49 8710 7

原创 Android 内存优化合集(不定期更新中......欢迎提供素材)

一、Android内存优化合集之消除对象的过期引用

2018-06-29 15:38:46 325 1

原创 Android内存优化合集:消除过期对象的引用

消除过期对象的引用 在Java编码的过程中,只要类是自己管理内存的,就要警惕对象的回收,防止出现 内存泄漏的问题。 对象的过期引用,是指在不再会使用到引用永远也不会也不会再被解除引用。 举个例子说明下:public class Stack<T> { private Object[] mElements; private int mSize; p...

2018-06-29 15:33:39 505 1

原创 Android自定义View之onLayout

onLayout 写过自定义ViewGroup的都知道,当自定义一个类继承ViewGroup之后,必须要重写的一个方法就是onLayout。 那么onLayout有什么样的作用呢?为什么自定义ViewGroup就需要重写该方法,自定义View则不需要重写该方法? 疑问出在ViewGroup的onLayout里,那我们就从这里入手,逐一去分析各中原由。  首先,进入到ViewGruop...

2018-05-15 15:35:01 2822

原创 HandlerThread原理和实际应用

HandlerThread 在理解了Handler的原理之后,我们知道在一个子线程中创建一个Handler不能缺少了Looper.prepare()和Looper.loop() 两个方法,具体的原因这里不再赘述,不熟悉原理的可以先看下另一篇文章Handler的原理解析. 本篇文章主要是讲解HandlerThread的使用的。  首先HandlerThread是继承于Thread类的,...

2018-05-14 15:47:41 756

原创 读书小记——JAVA数据容器总结

数组:数组是指将相同类型的元素按照一定顺序进行排列的集合,数组的存储是一块固定长度的连续的存储空间。 eg:当我们在声明一个数组时是需要指定其长度的int[] data = new int[10];数组的存储是连续的,因此只要知道第一个元素的存储位置,对应的就能知道后面所有元素的位置, 随机访问一个元素的时间复杂度是O(1)。 数组删除/增加一个元素,需要移动删除/增加位置之...

2018-04-23 14:32:22 568

原创 Android 8.0 新特性之语言区国际化和隐私性

语言区域和国际化Android 7.0引入了能指定默认类别语言区域的概念,某些API在使用默认的DISPLAY类别语言区域时,仍然使用的是不带参数Locale.getDefault()函数。在Android 8.0,以下的一些函数使用Locale.getDefault(Category.DISPLAY)来代 Locale.getDefault(): Currency.getDispl

2018-01-27 14:56:18 1458

原创 android 广播 BroadcastReceiver

Context sendBroadcast(Intent intent) 发送一般广播 sendOrderedBoardcast(Intent intent) 发送有序广播 registerReceiver(receiver,intentFilter) 注册广播接收器 unResisterReceiver(r...

2016-11-03 01:50:12 399

原创 Android Intent

### 一、意图的作用1.激活组件,使用Intent可以激活Android的三个核心组件,Activity、servers、ContentProvider2、携带数据,Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件向右走执行的动作,还可以在不同的组件之间进行数据传递。3、意图的匹配,主要用于隐式意图***### 二、显式意图:  ...

2016-10-26 01:50:38 399

Android进阶之光

《Android进阶之光》共分为11章。第1章介绍Android 5.0到Android 7.0的新特性。第2章介绍Material Design。第3章介绍View体系,包括View的事件分发、工作流程、自定义View等知识点。第4章介绍多线程的知识。第5章介绍网络编程与网络框架的知识。第6章介绍常用的设计模式。第7章介绍事件总线。第8到第10章介绍架构设计所需要的知识点。第11章简单介绍Android系统框架与MediaPlayer框架。

2018-11-01

Git Pro中文版--高清pdf

Git已经成为最流行的分布式版本控制系统,GitHub、CSDN CODE等提供的代码托管服务都是基于Git的,主要介绍了Git使用基础和原理,适合Git爱好者和初学者参考。

2018-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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