摘要:
友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本文目录 友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本文目录 一、前言 本篇我们介绍Android.mk与CMakeLists.txt构建NDK的配置文件,我们知道目前NDK的开发已经基本废 阅读全文
摘要:
欢迎关注公众号,第一时间获取最新文章: 本篇目录 一、前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识,选window系统主要是照顾大多数读者,mac ,linux操作系统基本是同样适用的。 交叉编译就是在A平台编译出可以在B平台执行的文件,对于我们安卓开发 阅读全文
摘要:
友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本篇目录 以下举例代码均来自:NDK示例代码 一、前言 安卓开发中很多场景需要用到NDK来开发,比如,音视频的渲染,图像的底层绘制,秘籍计算应用,复用C/C++库等等,安卓绝大部分核心代码都是在Native层来完成,也就是用 阅读全文
摘要:
欢迎关注公众号,第一时间获取最新文章: 本篇目录 一、前言 okio是大名鼎鼎的square公司开发出来的,其是okhttp的底层io操作库,既然已经有java原生的io库为什么还要自己费尽开发一套呢?java原生的io操作存在很多问题,比如读写阻塞,内存管理并不高效,体系臃肿,api调用不精简,以 阅读全文
摘要:
一、前言 本篇文章没有什么主题,就是一些零散点的总结。周末没事看了几道蚂蚁金服的面试题,其中有好几道都是特别简单的,基础性的题目,就是我们平时用到的,但是发现要是完全说出来还是有一些不清楚的地方,所以小小的总结一下。 二、hashCode()方法理解 提到hashCode()必然会涉及equals( 阅读全文
摘要:
上一篇我们了解了Gradle的各个方面,本篇介绍一款安卓图片优化转换插件,目前已在项目中使用,可一键批量转换压缩图片,webp转换与png/jpg压缩就是那么简单 GitHub项目地址:ImageOptimization ImageOptimization 安卓图片优化插件:能有效减少apk安装包大 阅读全文
摘要:
声明:本文来自汪磊的博客,转载请注明出处 可关注个人公众号,那里更新更及时,阅读体验更好: 友情提示由于文章是从个人公众号拷贝过来整理的,发现图片没有正常显示,没关注公众号的同学可通过如下链接查看:https://mp.weixin.qq.com/s?__biz=Mzg2NzAwMjY4MQ==&m 阅读全文
摘要:
文章出自汪磊的博客,未经允许不得转载 文章出自汪磊的博客,未经允许不得转载 一、排序的理解 一、排序的理解 提到排序大部分同学肯定第一时间想到int数组的排序,简单啊,所谓排序不就是将int数组按照从大到小或者从小到大排序吗,如果我有个数组存放的不是int数据,而是一个个对象呢?你怎么排序?所以我们 阅读全文
摘要:
本篇目录 一、图定义 图是一种较线性表和树更为复杂的数据结构,其定义为: 图是由顶点的有穷非空集合与顶点之间边的集合构成,通常表示为:G(V, E), G表示一个图,V表示图中顶点的集合,E表示顶点之间边的集合。 如下,就是一个图: 二、图术语了解 图中数据元素我们称之为顶点,图中任意两个顶点都可能 阅读全文
摘要:
本文目录 一、为什么要创建红黑树这种数据结构 在上篇我们了解了AVL树,既然已经有了AVL这种平衡的二叉排序树,为什么还要有红黑树呢? AVL树通过定义我们知道要求树中每一个结点的左右子树高度差的绝对值不超过1,其是一颗严格的平衡树,这样构建出来的平衡二叉排序树具有很好的查找性能,但是为了保持其每个 阅读全文
摘要:
数据结构与算法(一):基础简介 数据结构与算法(二):基于数组的实现ArrayList源码彻底分析 数据结构与算法(三):基于链表的实现LinkedList源码彻底分析 数据结构与算法(四):基于哈希表实现HashMap核心源码彻底分析 数据结构与算法(五):LinkedHashMap核心源码彻底分 阅读全文
摘要:
本文目录 前两篇文章我们学习了一些树的基本概念以及常用操作,本篇我们了解一下二叉树的一种特殊形式:二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。 一、二叉排序树定义 二叉排序树或者是一颗空树,或者是具有下列性质的二叉树: 若它 阅读全文
摘要:
版权声明:本文出自汪磊的博客,转载请务必注明出处。 设计模式系列与数据结构算法系列为本人知识的梳理,大体上没有什么新玩意,都是前人们工作经验的结晶,好了,不啰嗦了,基础的重要性懂得自然懂。等这两个系列总结完在写框架方面的,好的框架必然包含一种或多种设计模式与数据结构。 一、享元模式 享元模式解决的就 阅读全文
摘要:
本篇博客来自于转载,打开原文地址已经失效,在此就不贴出原文地址了,如原作者看到请私信我可用地址,保护原创,人人有责。 Android开发者都知道Lint在我们使用HashMap的时候会给出警告——使用SparseArray会优化内存。这可是一件好事情。那现在我们有几个类要学习去使用。比如:Array 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 近期忙着新版本的开发,此外正在回顾C语言,大部分时间没放在数据结构与算法的整理上,所以更新有点慢了,不过既然写了就肯定尽力将这部分完全整理好分享出来。 言归正传,开启本篇的正文。 一、什么是赫夫曼树 给定n个权值作为n个叶子结点,构造一棵二叉树, 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 之前的篇章主要讲解了数据结构中的线性结构,所谓线性结构就是数据与数据之间是一对一的关系,接下来我们就要进入非线性结构的世界了,主要是树与图,好了接下来我们将会了解到树以及二叉树,二叉平衡树,赫夫曼树等原理以及java代码的实现,先从最基础的开始学 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 上一篇基于哈希表实现HashMap核心源码彻底分析 分析了HashMap的源码,主要分析了扩容机制,如果感兴趣的可以去看看,扩容机制那几行最难懂的代码真是花费了我很大的精力。 好了本篇我们分析一下HashMap的儿子LinkedHashMap的核 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 存储键值对我们首先想到HashMap,它的底层基于哈希表,采用数组存储数据,使用链表来解决哈希碰撞,它是线程不安全的,并且存储的key只能有一个为null,在安卓中如果数据量比较小(小于一千),建议使用SparseArray和ArrayMap,内 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 LinkedList 是一个双向链表。它可以被当作堆栈、队列或双端队列进行操作。LinkedList相对于ArrayList来说,添加,删除元素效率更高,ArrayList添加删除元素的话需移动数组元素,甚至还需要考虑到扩容数组长度。 一、Lin 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 本片我们分析基础数组的实现--ArrayList,不会分析整个集合的继承体系,这不是本系列文章重点。 源码分析都是基于"安卓版"的源码,和java原生版核心思想都是差不多的。好了,废话依然少说,进入正文。 一、ArrayList中成员变量 源码: 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 一、前言 项目进入收尾阶段,忙忙碌碌将近一个多月吧,还好,不算太难,就是麻烦点。 数据结构与算法这个系列早就想写了,一是梳理总结,顺便逼迫自己把一些模模糊糊的概念弄明白,最重要的我觉得数据结构与算法平时我们总是接触,什么ArrayList,Lin 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 好久没写博客了,最近忙着换工作,没时间写,工作刚定下来。稍后有时间会写一下换工作经历.接下来进入本篇主题,本来没想写LayoutInflater的,不过做项目的时候随手用了一下,运行发现了一些问题,稍微看了下源码,决定写篇博客当作记录一下吧。 一 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 本篇博客主要是对上篇博客的补充Android性能优化之UI渲染性能优化, 没有什么新东西,觉得应该是都掌握的玩意,写出来也只是自己做个小小的总结。 一、include的用法以及注意点 在开发Android布局时,我们常将一些通用的视图提取到一个单 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 本篇博客主要记录一些工作中常用的UI渲染性能优化及调试方法,理解这些方法对于我们编写高质量代码也是有一些帮助的,主要内容包括介绍CPU,GPU的职责,UI的overdraw,Hierarchy View工具的使用以及canvas.clipRect 阅读全文
摘要:
版权声明:本文出自汪磊的博客,未经作者允许禁止转载。 Java深拷贝与浅拷贝实际项目中用的不多,但是对于理解Java中值传递,引用传递十分重要,同时个人认为对于理解内存模型也有帮助,况且面试中也是经常问的,所以理解深拷贝与浅拷贝是十分重要的。 一、Java中创建对象的方式 ①:与构造方法有关的创建对 阅读全文