Android
文章平均质量分 84
Lance_w
Thinking In The Life
展开
-
Android Jetpack--LiveData篇
本篇主要是Android Jetpack LiveData的原理解析和应用,并且通过源码的刨析,印证了LiveData在使用过程中出现的一些问题,有知道了LiveData怎么使用,想进一步了解LiveData是怎么实现数据的保存和观察的可以看看......原创 2022-07-10 18:18:29 · 623 阅读 · 1 评论 -
Jetpack App Startup——SDK自动初始化,告别Init
还在调用XxxSDK.init吗?原创 2022-04-21 16:10:57 · 3252 阅读 · 0 评论 -
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 · 1342 阅读 · 0 评论 -
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 · 1549 阅读 · 0 评论 -
读书小记——Activity
Activity读书小记首先是Activity的生命周期,简单回顾:onCreate:创建。onStart:可见不可交互,即未位于前台。onResume:可见可交互,即已位于前台。onPause:可见但不可交互。onStop:停止,不可见不可交互onDestroy:销毁。onReStart:重新启动。即执行完onPause和onStop但未执行onDes...原创 2019-02-19 16:27:38 · 297 阅读 · 0 评论 -
Android暴露组件——被忽略的组件安全
Intent简介: Intent(意图),负责完成Android应用、组件之间的交互与通信。常见的Activity的调用、Receiver的发送、Service的启动都需离不开Intent。Intent通常包含的信息:Categpry:种类、归类。Action:表明要做什么?通常代表了一个组件具有的能力。Data/Extras:通信的数据。Flags:规定了系统如何去启动一个Act...原创 2018-10-31 20:44:25 · 5693 阅读 · 0 评论 -
ThreadLocal,看我就够了!
ThreadLocal开胃菜 研究过Handler的应该对ThreadLocal比较眼熟的,线程中的Handler对象就是通过ThreadLocal来存放的。初识ThreadLocal的可能被它的名字有所误导,ThreadLocal初一看可能会觉得这是某种线程实现,而实际并非如此。事实上,它是一个全局变量,用来存储对应Thread的本地变量,这也是为什么将其称之为Local。当使用...原创 2018-09-04 20:59:54 · 3964 阅读 · 2 评论 -
Handler进阶之sendMessage原理探索
Handler进阶之sendMessage 本文主要进一步的探索Handler,主要介绍下Handler是如何发送消息的? 用过Handler的想必对一下几个方法都不会陌生:sendMessage(Message msg);//立刻发送消息sendMessageAtTime(Message msg, long atTime);//在某个时间点发送消息sendMessageD...原创 2018-07-03 09:51:49 · 8720 阅读 · 7 评论 -
Android 内存优化合集(不定期更新中......欢迎提供素材)
一、Android内存优化合集之消除对象的过期引用原创 2018-06-29 15:38:46 · 328 阅读 · 1 评论 -
Android内存优化合集:消除过期对象的引用
消除过期对象的引用 在Java编码的过程中,只要类是自己管理内存的,就要警惕对象的回收,防止出现 内存泄漏的问题。 对象的过期引用,是指在不再会使用到引用永远也不会也不会再被解除引用。 举个例子说明下:public class Stack<T> { private Object[] mElements; private int mSize; p...原创 2018-06-29 15:33:39 · 506 阅读 · 1 评论 -
Android自定义View之onLayout
onLayout 写过自定义ViewGroup的都知道,当自定义一个类继承ViewGroup之后,必须要重写的一个方法就是onLayout。 那么onLayout有什么样的作用呢?为什么自定义ViewGroup就需要重写该方法,自定义View则不需要重写该方法? 疑问出在ViewGroup的onLayout里,那我们就从这里入手,逐一去分析各中原由。 首先,进入到ViewGruop...原创 2018-05-15 15:35:01 · 2826 阅读 · 0 评论 -
HandlerThread原理和实际应用
HandlerThread 在理解了Handler的原理之后,我们知道在一个子线程中创建一个Handler不能缺少了Looper.prepare()和Looper.loop() 两个方法,具体的原因这里不再赘述,不熟悉原理的可以先看下另一篇文章Handler的原理解析. 本篇文章主要是讲解HandlerThread的使用的。 首先HandlerThread是继承于Thread类的,...原创 2018-05-14 15:47:41 · 761 阅读 · 0 评论 -
Android Handler消息机制原理最全解读(持续补充中)
Handler 在Android开发的过程中,我们常常会将耗时的一些操作放在子线程(work thread)中去执行,然后将执行的结果告诉 UI线程(main thread),熟悉Android的朋友都知道,UI的更新只能通过Main thread来进行。那么这里就涉及到了如何将 子线程的数据传递给main thread呢? Android已经为我们提供了一个消息传递的机制——Hand...原创 2018-05-13 19:22:57 · 77440 阅读 · 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 · 710 阅读 · 0 评论 -
android 广播 BroadcastReceiver
Context sendBroadcast(Intent intent) 发送一般广播 sendOrderedBoardcast(Intent intent) 发送有序广播 registerReceiver(receiver,intentFilter) 注册广播接收器 unResisterReceiver(r...原创 2016-11-03 01:50:12 · 399 阅读 · 0 评论 -
Android Intent
### 一、意图的作用1.激活组件,使用Intent可以激活Android的三个核心组件,Activity、servers、ContentProvider2、携带数据,Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件向右走执行的动作,还可以在不同的组件之间进行数据传递。3、意图的匹配,主要用于隐式意图***### 二、显式意图: ...原创 2016-10-26 01:50:38 · 401 阅读 · 0 评论 -
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 · 10116 阅读 · 0 评论 -
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 · 1464 阅读 · 0 评论 -
Java设计模式之模板方法设计模式——代码里的故事————
Java设计模式,写漂亮的代码————模板方法设计模式简介: 模板方法设计模式是Java设计模式中很简单、应用非常广泛的的一种设计模式,该模式体现了编程的抽象思想(抽象是所有子类的共性封装), 仅仅使用了Java的继承机制。其实很可能在你写代码的过程中已经使用过了很多次这种模式,只是你还不太清楚那就是模板方法设计模式。 接下来就让我们一起去看看,到底什么是模板方法设计...原创 2018-03-11 18:36:58 · 1615 阅读 · 0 评论