![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发高级
stormCoderStorm
做一个谦卑的人,一个没有脱离低级趣味的人
展开
-
Android热补丁动态修复技术(二):实践
一、前言上一篇博客中,我们简单的介绍了dex分包的原理,这节我们就通过代码实践的方式来阐述如何使用dex分包实现热修复的问题,要想实现我们需要面临解决两个问题。 1. 怎么将修复后的Bug类打包成dex 2. 怎么将外部的dex插入到ClassLoader中(1)建立测试工程 (2)代码片段public class MainActivity extends AppCompatActivity原创 2016-09-17 00:50:23 · 502 阅读 · 0 评论 -
Android中startActivity中的permission检测与UID机制
我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity from Ac转载 2017-03-01 11:27:08 · 251 阅读 · 0 评论 -
Android中startActivity中的permission检测与UID机制
我们经常在一个activity中去start另一个activity,或者与另一个acitivity的结果进行交互(startActivityForResult)。但有没有想过可能会出现的permission问题呢?如果你遇到了permission denial的Exception,那么你需要读读这篇文章啦。 我们在同一个application内部,可以随意的startActivity from Ac转载 2017-03-01 11:26:22 · 338 阅读 · 0 评论 -
Android Permission 机制
AndroidManifest.xml里面的sharedUserID能够让不同的apk运行在同一个进程里,分享里面的数据,比如Contacts等,当然这个sharedUserID可以设置成“android.uid.system”就可以运行在系统进程中,有权修改系统数据。 但仅仅有着一个sharedUserID并不能够保证你的apk一定能运行成功,怎么办?签名啊。如果你有Android的源码就比较方便转载 2017-03-01 11:24:03 · 211 阅读 · 0 评论 -
AS环境下freeline增量编译配置
freeline简介Freeline是由蚂蚁聚宝Android团队开发的一款针对Android平台的增量编译工具。它可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。freeline配置 1.在app 根build.gradle中添加配置:buildscript { repositories { j原创 2016-11-30 19:37:52 · 1030 阅读 · 0 评论 -
UML图箭头关系简介
前言:有时随着项目开发业务不断的复杂化,脑海中无法对项目有个清晰的认识,抑或是当你处于架构师级别需要向下属程序员讲解项目中使用的整体架构的时候,它就显得尤为重要,特别是web端复杂业务的开发.鉴于此,我觉得有必要简单介绍下UML图的使用,这里引用了”UnGeek”的博客,这里表示感谢。一般来说UML定义的关系主要有:泛化、实现、依赖、关联、聚合、组合,这六种关系紧密程度依次加强,下面对其分别简单介绍原创 2016-10-13 14:58:26 · 4545 阅读 · 0 评论 -
Android性能专项测试之Heap Viewer工具的使用
前言 一个好的app除了极具渲染力的ui设计外,app的性能也是是否能够增加用户粘性中一个很重要的标准,越来越多的app开始性能优化的问题,听上去很抽象,无从下手,不知所措,但是这些问题随着各种分析工具的出现,这项工作也变得越发简单。Heap Viewer的作用是什么?(1).动态实时查看我们的App分配的内存大小 (2).经过分析视图可以发现Memory LeaksHeap Viewer使用条原创 2016-09-30 14:14:25 · 1243 阅读 · 0 评论 -
Android性能专项测试之Memory Monitor工具
Memory Monitor能做什么?实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的Crash是否是因为超出了内存Memory Monitor使用准备开发者选项可用 USB调试开启 备注:Android Studio的Enable ADB Integration勾选(Tools/Android下)。Memory Monitor面板重点来看横坐标记录从采原创 2016-09-30 13:14:35 · 1049 阅读 · 0 评论 -
Gradle学习整理
1.Gradle学习系列之一——Gradle快速入门 2.深入理解Android之Gradle转载 2016-09-28 10:24:10 · 319 阅读 · 0 评论 -
android中内存泄漏场景分析与检测
前言 介于开发中内存泄漏的频繁出现,结合我在项目中发现的一些内存泄漏的使用情境,因此写了这篇文章做个简要的分析,希望能够帮助后来者避免类似的情景。什么是内存泄露? Android系统为每个应用程序分配的内存是有限的,当一个应用中产生的内存泄漏的情况比较多时,这就会导致应用所需要的内存超过这个系统分配的内存限额,进而造成了内存溢出而导致应用崩溃。在实际的开发过程中我们稍有不当操作随时都有可能造成原创 2016-09-30 11:14:45 · 307 阅读 · 0 评论 -
Android性能优化之MAT内存检测
前言1.什么是内存泄漏?这个问题说来话太长了,似乎盘古开天劈地以来就有的话题一样,这个问题一直在困扰着程序员, 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求原创 2016-10-09 15:22:25 · 717 阅读 · 0 评论 -
javassist探究
最近项目中要研究热修复,这样就离不开字节码的动态编译,所以就花了点时间写下我对javassit的理解.1.javassit自述?javassist是一个字节码类库,Javassist 使用 javassist.ClassPool 类跟踪和控制所操作的类。这个类的工作方式与 JVM 类装载器非常相似,但是有一个重要的区别是它不是将装载的、要执行的类作为应用程序的一部分链接,类池使所装载的类可以通过 J原创 2016-09-20 10:46:34 · 320 阅读 · 0 评论 -
Android热补丁动态修复技术(一)dex分包原理
MultiDex的产生背景当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。但是在早期的Android系统中,DexOpt有一个问题,DexOpt会把每一个类的转载 2016-09-16 22:59:32 · 776 阅读 · 0 评论 -
梆梆SDKs详细分析 – 防界面劫持SDK
梆梆SDKs详细分析(1) – 防界面劫持SDK梆梆SDKs详细分析(2) – 安全键盘SDK揭秘DroidSec.cnANDROID安全中文站 Activity劫持实例与防护手段转载 2017-02-27 17:01:09 · 1165 阅读 · 0 评论