
Android 开发
文章平均质量分 93
玛斯特・布兰迪
学习、记录、分享、交流
展开
-
Android 突破 64 K 方法引用数限制
一、64 K 方法限制的原因 Android Project 经过编译打包,其中的 Java 代码(包括Library)转化为 DEX 格式 的字节码文件,这是 Android 5.0之前的 Dalvik 虚拟机决定的(5.0之后改为 ART 虚拟机),并且采用 short 类型引用 DEX 文件中的 method,这也为 method 数量的峰值大小埋下了隐患。short 类型能够表示的...原创 2018-08-24 18:36:50 · 256 阅读 · 0 评论 -
Kotlin 全面学习之路 (二) -- 控制流(If、When、For、While)
Kotlin 学习之路二 – 控制流和跳转返回原创 2018-09-08 21:19:39 · 301 阅读 · 0 评论 -
Kotlin 全面学习之路 (一) -- 基本数据类型
在 Kotlin 中和 Java 一样,万物皆对象,我们可以调用任意变量的成员变量和属性数值Kotlin 提供了以下数据类型: 类型 位宽 Byte 8 Short 16 Int 32 Float 32 Long 64 Double 64字面值常量十进制: 123 、 长整型用 L...原创 2018-09-05 11:37:07 · 279 阅读 · 0 评论 -
Android Studio 由代理引起的 (Connection refused)、(Read time out)
首先明确一点:此类问题皆是因为大陆的墙厚又高在 AS 的 Gradle 构建依赖时由于网速、大陆墙等原因,会遇到各种各样的问题,十分的苦恼而又无可奈何,如果不能定为具体原因,就只能看项目一路飘红了。1. 定位问题由于项目需要对 Android 9.0 进行适配,并借此机会大范围的升级项目中用到的三方工具,代码更改完毕,点击 “sync project with gradle files”...原创 2018-10-18 15:27:59 · 5895 阅读 · 0 评论 -
Kotlin 中的 lateinit 、lazy、let 、apply 、also 、takeif、takeUnless
Kotlin和Groovy等语言一样,支持闭包(block),如果函数中最后一个参数为闭包,那么最后一个参可以不写在括号中,而写在括号后面,如果只有一个参数,括号也可以去掉。viewPager.setOnClickListener(new View.OnClickListener() { @Override public void onClick(...原创 2018-12-23 16:29:08 · 676 阅读 · 0 评论 -
关于Dalvik、ART、DEX、ODEX、JIT、AOT、OAT
关于Dalvik、ART、DEX、ODEX、JIT、AOT、OAT发表于 2017-06-30 | 分类于 Android | | 字数统计 | 阅读时长关于Dalvik、ART、DEX、ODEX、JIT、AOT、OAT,说真的,我看着都头大,每次看完过不了多久就会忘记一些内容,然后再去搜资料,好记性不如烂笔头,写在这里随时温故。Dalvik&ART1.1 DalvikD...转载 2018-12-18 14:24:44 · 3140 阅读 · 0 评论 -
手机安装 Charles HTTPS 证书
https://blog.youkuaiyun.com/weixin_35825766/article/details/80469619原创 2019-01-14 20:20:14 · 1989 阅读 · 0 评论 -
AspectJ in Android 使用初探 二
AspectJ in Android 使用初探 一 介绍了 AspectJ 的基本概念以及如何集成到 Android 项目中,在这里具体化 AspectJ 的具体使用。在介绍具体的使用方法,先明确几个基本的概念帮助理解一、AspectJ 语法1.1 Join Point (连接点)Join Point 就是程序中可能作为代码注入目标的特定的点,例如一个方法调用或者方法入口。被 Jo...原创 2018-08-21 14:42:20 · 492 阅读 · 0 评论 -
AspectJ in Android 使用初探 一
1. 什么是 AOP (Aspect Oriented Programming)1.1 Why AOP ?我们都知道 OOP(Object-Oriented Programming) 是面向对象思想,即在 OOP 的世界里万物皆对象,将数据和数据的行为放到一起,成为一个不可分割的整体 – 对象,其精髓是将功能或问题模块化,每个模块管理自己的业务,使我们在使用时不用关心它的内部细节和实现过程...原创 2018-08-19 21:05:34 · 291 阅读 · 0 评论 -
Fragment 懒加载
### 为何懒加载 在很多 App 都会有 ViewPage + Fragment 的基本组合,但是众所周知 viewPager 的 预加载机制,即使设置函数 setOffscreenPageLimit(0)也不能改变默认值为 1 的事实,这样最少也会加载 3 个fragment,无疑对 app 的性能有所影响。### 何谓懒加载 所谓的懒加载,其实也就是延迟加载,就...原创 2018-05-31 19:43:33 · 537 阅读 · 0 评论 -
Android中 @id 与 @+id 区别
Android 中的组件需要用一个int 类型的值来表示,这个值也就是组件标签中的id 属性值。id 属性只能接受资源类型的值,也就是必须以 @ 开头的值,例如,@id/abc、@+id/xyz等。 如果在@后面使用+,表示当修改完某个布局文件并保存后...原创 2018-06-28 16:24:48 · 4533 阅读 · 0 评论 -
如何选择 compileSdkVersion、minSdkVersion 和 targetSdkVersion
英文原文:Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion作者:Ian Lake,Google Android 推广工程师;翻译:韩国恺。当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是...转载 2018-07-17 11:21:29 · 245 阅读 · 0 评论 -
Android 错误信息集锦(持续更新)
一、Attempt to invoke virtual method ‘void android.app.ActionBar.hide()’ on a null object reference报错发生处: when (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) { true -> wi...原创 2018-07-11 15:34:52 · 512 阅读 · 0 评论 -
Shallow Size、Retained Size、Heap Size 和 Allocated
Shallow Size:Shallow size就是对象本身占用内存的大小,不包含其引用的对象。常规对象(非数组)的 Shallow size 由其成员变量的数量和类型决定。数组的shallow size有数组元素的类型(对象类型、基本类型)和数组长度决定。在32位系统上,对象头占用 8 字节int 占用4字节不管 成员变量(对象或数组)是否引用了其他对象(实例)或者...原创 2018-08-16 17:53:08 · 16527 阅读 · 7 评论 -
The logbook of Android bug in daily development.
androidx 与 support 兼容、ButterKnife 版本Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28...原创 2019-06-05 11:14:32 · 359 阅读 · 0 评论