Android知识点整理

Map

如果一个数组反复插入删除怎么降低时间复杂度?

A.数组插入、删除:是在下标i的地方,后边的数组整体system.copy一份,然后插入到i位置。Copy是一个循环。

epic原理浅析

Art & Dalvik

Art(Android Runtime)虚拟机是 Android 4.4 发布的,用来替换 Dalvik 虚拟机,但是在Android 4.4 默认采用的还是Dalvik 虚拟机,但是可以选择使用Art。在Android 5.0版本中默认使用Art了,Dalvik退出了历史舞台,所以可以说是在Android在5.0开始正式使用Art虚拟机。

Python设置Host代理

概述

我们在客户端沙箱环境测试接口的时候,一般都是通过Charles设置,

Host Name:testcapp.com
Address: 10.167.192.17

那如果我们要是在通过Python脚本进行接口请求,在沙箱环境下,设置Host时要如何做呢?看下面代码设置:

Pngquant-图片压缩

pngquant

pngquant是一个命令行实用程序,也是一个用于有损压缩PNG图像的库。转换后可以显著减小文件大小(通常高达70%),并保持完全的alpha透明度。生成的图像与所有web浏览器和操作系统兼容。具有以下特点:

  • 结合矢量化运算的高质量的调色板。

  • 独特的自适应抖动算法。

  • 跨平台: windows , Mac OS X , Linux 。

  • 可以与shell脚本、GUI和服务器端软件轻松地集成。

  • 快速模式处理大量图像。

Gradle 4.0 jar包assets资源丢失原因分析

概述

在gradle升级到4.0.2时遇到了release包构建成功,并且在构建过程中无异常提示,但是百度地图BaiduLBS_Android.jar中assets下文件丢失,导致地图相应功能丢失,app崩溃情况。在解决问题的过程中,耗费时间较长,一度以为是混淆问题,因为debug包没问题,并且release在打开R8的情况下,也可以解决,gradle升级到4.1也可以解决。但是具体原因是什么呢?到底是混淆问题,还是其他原因,带着这个问题我们分析下第三方jar包assets下资源文件是如何打包到apk中的。

Gradle之android.precompileDependenciesResources配置介绍

本地版用了一个第三方图片压缩插件,用来减少包大小大约2.6兆,但是在gradle升级后,并没有达到预期的效果。之后在gradle.properties中设置了android.precompileDependenciesResources=false后,解决了该问题。android.precompileDependenciesResources是Gradle 3.6版本以后增加的一个配置,并且默认是打开的,但是不知道他具体的作用。我们在开发过程中也很少用到关闭的情况。 所以本次具体介绍一下它的作用,主要从以下几个方面介绍:

Gradle升级到4.0之图片压缩问题

本地版用了一个第三方图片压缩插件,用来减少包大小大约2.6兆,但是在gradle升级后,并没有达到预期的效果,只降低了1.4M。之后在gradle.properties中设置了android.precompileDependenciesResources=false后,解决了该问题。而android.precompileDependenciesResources是Gradle 3.6版本以后增加的一个配置,并且默认是打开的,但是不知道他具体的作用,我们在开发过程中也很少用到关闭的情况。 所以通过下面几点具体介绍压缩问题解决流程: