Android

方案一:使用主题文件 定义换肤资源 在values/下新建一个xml文件,比如theme_attrs.xml,然后定义换肤的资源类型 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="them...

发布 0 条评论

类的生命周期 加载阶段 加载阶段可以细分如下 加载类的二进制流 数据结构转换,将二进制流所代表的静态存储结构转化成方法区的运行时的数据结构 生成java.lang.Class对象,作为方法区这个类的各种数据的访问入口 加载类的二进制流...

发布 0 条评论

Android虚拟机 Android4.4版本以前是Dalvik虚拟机,4.4版本开始引入ART虚拟机(Android Runtime)。在4.4版本上,两种运行时环境共存,可以相互切换,但是在5.0版本以后,Dalvik虚拟机则被彻底的丢弃,全部采用ART。 ART ART 是一种执...

发布 0 条评论

ViewGroup#onMeasure //将layoutParams转变成为 measureSpec //参数一:parentWidthMeasureSpec //参数二:padding,父布局的padding,或者padding+已用空间 //参数三:ChildView的LayoutParams,比如lp.width,lp.height public stati...

发布 0 条评论

ConstraintLayout属性 固定比例: layout_constraintDimensionRatio ="4:1";宽:高=4:1,宽为高的4倍 或者 app:layout_constraintDimensionRatio="H,2:3"指的是 高:宽=2:3 app:layout_constraintDimensionRatio=&q...

发布 0 条评论

内存优化是 Android 开发中一个非常重要的环节,如果不注意就可能出现>内存泄漏,内存溢出,应用运行缓慢,效率低下等问题,严重影响用户体验。本文主要介绍 Android 应用内存的抓取和内存数据分析方法。 一. Android Profiler 分...

发布 0 条评论

在任何性能优化之前,要做的第一件事就是找到性能瓶颈!而找到性能瓶颈通常需要强大的debug工具辅助。内存方面Android有 AndroidStudio 的 Android Profiler、Allocation Tracker,以及Eclipse的MAT用于分析java的内存占用,相当强大...

发布 0 条评论

使用Java开发Gradle Plugin基础流程 在Android开发的过程中,我们经常使用如下方法在项目中加入插件 app/build.gradle //新版本 plugins { id 'com.jfrog.bintray' version '1.8.5' } //旧版本 apply plugin...

发布 0 条评论

开始之前我们先看看Android 官方文档中的一段话。 官方的说法就是:我们在写代码的时候要注意类型的使用,以便于提高代码的扩展性和维护性,但是原型的使用一般会付出更多的内存的代价,所以如果没有特别大的好处,要尽量避免使用。对...

发布 0 条评论

正文 这么流弊的DeepLink是不是非常的难?其实DeepLink的基本实现是简单到不可思议,他的核心思想实际上是Android的隐式启动。我们平时的隐式启动主要是通过Action和Category配合启动指定类型的Activity: <activity android...

发布 0 条评论