潇风寒月

if it can be done,in less than two minutes,do it now!

Android-skin-support 换肤原理全面解析

一.背景 二.AppCompatActivity实现 三.Android创建View全过程解析 四.换肤原理详细解析 1.上文预备知识与换肤的关系 2.源码一,创建控件全过程 3. 源码二,从皮肤包加载皮肤 4.简单总结一下原理(本文精髓) 一.背景 公司业务上需要用...

2018-07-27 20:32:36

阅读数 1013

评论数 5

从源码角度彻底搞懂String、StringBuffer、StringBuilder

*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 从源码角度彻底分析三者底层实现.第一次写源码分析,小记一笔,由于本人才疏学浅,有很多地方可能存在误解和不足,还望大家在评论区批评指正. 一、引言 学Java很久了,一直处于使用API+查API的状态,不了解原理,久...

2018-04-20 15:38:54

阅读数 613

评论数 1

LiveData 使用及原理解析

本文是基于 androidx.lifecycle:lifecycle-extensions:2.0.0 的源码进行分析 LiveData是一个类,将数据放在它里面我们可以观察数据的变化.但是它是江湖上那些妖艳贱货不一样的是它是lifecycle-aware(生命周期感知的).这个特性非常重要,我们...

2019-03-21 22:48:14

阅读数 8

评论数 0

ViewModel 使用及原理解析

本文是基于 androidx.lifecycle:lifecycle-extensions:2.0.0 的源码进行分析 ViewModel旨在以生命周期意识的方式存储和管理用户界面相关的数据,它可以用来管理Activity和Fragment中的数据.还可以拿来处理Fragment与Fragment...

2019-03-21 00:00:25

阅读数 17

评论数 0

Lifecycle 使用及原理解析 一文搞懂

Lifecycle是Android Architecture Components的一员,这玩意儿挺方便的,它是能感知Activity和Fragment的生命周期的. 一、使用Lifecycle 1. 引入Lifecycle 我们来看一下如何引入: 非androidX项目引入: //运行时 i...

2019-03-13 23:14:55

阅读数 26

评论数 0

Android Studio 在默认build.gradle 中加入 maven 阿里云源

众所周知,某些时候引入某些开源库是非常慢的.引入阿里云源之后,会下载非常快. 添加成默认的 找到Android Studio 安装目录,我如下: D:\install\android-studio\plugins\android\lib\templates\gradle-projects\New...

2019-03-12 22:05:24

阅读数 53

评论数 0

Intent传大量数据导致的崩溃问题

项目中一个地方,需要传递一个很大很大的列表数据(model也特别复杂,盛放的数据量也很大),大到什么程度呢?直接导致跳转Activity时用Intent传值 APP崩溃了. 崩溃Exception: TransactionTooLargeException 其实用Intent传值,是有一个最大的...

2019-03-05 21:52:38

阅读数 17

评论数 0

2018年度总结

恍恍惚惚,一转眼,2018又过去了.这一年感觉成长还是看得见的.简单总结一下 2018历程 3月份左右在做毕业设计,一直搞到5月份.APP和后台代码都是我写的. 学习了Spring Boot,为了写一个简单的后台. 今年比较自豪的是,投稿了几次郭霖大佬的公众号,还有鸿洋大佬的也投成功过.感觉...

2018-12-29 13:12:46

阅读数 139

评论数 0

Constraintlayout全解析

平时使用ConstraintLayout,断断续续的,基本都是在自己的小demo里面使用.公司的项目暂时还没有使用.这次公司项目需要大改,我决定用上这个nice的布局.减少嵌套(之前的老代码,实在是嵌套得太深了…无力吐槽). 首先,ConstraintLayout是一个新的布局,它是直接继承自...

2018-12-08 22:43:41

阅读数 180

评论数 1

Github常见标签生成教程

经常在Github逛,肯定经常看到如下高逼样的标签.让项目平添几分姿色. 今天我们来试着自己也做一个. 打开那些项目的markdown文件,发现这些图片是img.shields.io帮我们生成的. ![image](https://img.shields.io/badge/api-%2B19...

2018-10-26 09:40:34

阅读数 286

评论数 0

android.app.Fragment已过时

今天早上使用Fragment时,忽然发现,android.app.Fragment已经过时了… /** * @deprecated Use the <a href="{@docRoot}tools/extras/support-library.html...

2018-10-19 09:20:59

阅读数 1154

评论数 3

Android View事件分发机制

作为程序猿,最不想 看的但是也不得不去看的就是源码!所谓知其然也要知其所以然,神秘的大佬曾经说过进阶的方法就是READ THE FUCKING CODE! 认识MotionEvent 负责集中处理所有类型设备的输入事件.我们对屏幕的点击,滑动,抬起等一系的动作都是由一个一个MotionEve...

2018-10-18 11:09:17

阅读数 187

评论数 0

适配Bugly不支持Android P

Bugly官方文档上最高是适配的8.x,刚开始的时候我拿Android P进行测试也是无效果.后来发现log中有一句Cleartext HTTP traffic to android.bugly.qq.com not permitted. 拿起就是一阵Google,发现原来是Android P需...

2018-10-10 17:30:27

阅读数 642

评论数 2

JNI Java与C的相互调用与基本操作

Java和Jni的类型对照表 引用类型对照表 一.Java调用C函数 1.字符串拼接 public native String concatString(String a, String b); /** * 字符串拼接 */ extern "C" JN...

2018-09-21 15:16:47

阅读数 453

评论数 0

Android JNI初识 HelloWorld

以前学过一点JNI,很久没用,然后又忘了,复习一下. 一.NDK是什么 原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 可用以从您自己的源代码构建,或者利用现有的预构建库 NDK使用场景 NDK会不可避免的增加开发过程的复杂性,通常是不建...

2018-09-20 16:26:56

阅读数 210

评论数 0

浅析Java的深拷贝和浅拷贝.md

文章目录浅析Java的深拷贝和浅拷贝1. 浅拷贝2. 深拷贝3. 总结 浅析Java的深拷贝和浅拷贝 首先来看看浅拷贝和深拷贝的定义: 浅拷贝:使用一个已知实例对新创建实例的成员变量逐个赋值,这个方式被称为浅拷贝。 深拷贝:当一个类的拷贝构造方法,不仅要复制对象的所有非引用成员变量值,还要为引用类...

2018-09-19 09:53:50

阅读数 369

评论数 0

国内用户无法使用TikTok(国外版抖音)的解决方案

首先,我是不推荐程序员使用这个东西的,毕竟很浪费时间.我平时比较忙,也是没时间玩这些. 1. 背景 娱乐娱乐也是可以,但不要沉迷其中.我们可以从这款产品中学习它的优点. 无独有偶,那天忽然在Google Play上看到这玩意儿TikTok(国外版抖音),准备下载下来欣赏欣赏(同时可以学习...

2018-09-14 09:37:24

阅读数 337480

评论数 28

注解学习

注解是java1.5引入的,比如@Override,@Deprecated等都是比较常见的注解,Java程序员在日常开发中注解使用广泛. 一.什么是注解 下面简单看下Java官方定义的注解,其中有些东西可能没见过,不过没关系,下面会讲. @Target(ElementType.M...

2018-09-10 15:54:43

阅读数 161

评论数 0

从源码角度彻底搞懂LinkedList

LinkedList源码赏析 一、概述 LinkedList,相对于ArrayList,大家可能平时使用LinkedList要少一些,其实有时候使用LinkedList比ArrayList效率高很多,当然,这得视情况而定。 本文将带大家深入LinkedList源码,分析其背后...

2018-05-17 18:25:00

阅读数 639

评论数 5

Android 未root查看ANR异常

有时候APP不抛出错误,但是会抛出ANR。 一般我们的APP出现ANR后会将ANR信息保存到/data/anr/traces.txt里面。在系统里面配置环境变量:adb,然后打开命令行,输入方式1: cd data/ 进入data目录 cd anr/ 进入anr目录 ls 可以看到之前产...

2018-05-07 11:19:15

阅读数 659

评论数 0

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