Alias's blog

前言 Android版本现在更新的越来越快,搞得开发者适配起来很烦,往往稍不注意就踩坑了,本篇博客主要用来记录Android版本行为不同带来的坑(踩到更新) 各个版本更改文档:https://developer.android.google.cn/about/versions 5.0(API 2...

发布 3 条评论

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

发布 0 条评论

泛型类型擦除 Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号...

发布 0 条评论

Java 虚拟机将 Java 程序执行的区域称为运行时数据区,根据各自功能不同将运行时数据区划分为若干个不同的区域, 具体分为两大块,线程共享部分和线程私有部分。线程共享部分可以分为堆、方法区(jdk1.8 后这块区域被称为元空间);线...

发布 0 条评论

Java 内存模型(JMM) JMM 是 Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式,JMM规定了内存主要划分为主内存和工作内存两种 此处的主内存和工作内存跟JVM内存划分(堆、栈、方法区)是在不同的层次上进行的,如果非要对应起来,主内...

发布 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 条评论

BlockingQueue相关接口 public interface Queue<E> extends Collection<E> { boolean add(E e); boolean offer(E e); E remove(); E poll(); E element(); E peek(); } public interface B...

发布 0 条评论

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

发布 0 条评论

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

发布 0 条评论