自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上-codingAndlearning

积累与分享

原创 Android Studio下Ndk开发踩过的坑以及解办法决

Android studio在2.2之后是开始兼容ndk的开发,尝鲜用来本地开发,各种坑,不兼容。之前用得好好的,一个升级AS或者NDK版本都会一不小心导致了编译失败,或者成功之后,加载不成功。故随手笔记记录下自己踩过的坑,也方便其他人查询。 Trap One : Caus...

2019-11-09 14:10:28

阅读数 5011

评论数 0

原创 UI界面快速展示优化-巧用消息队列MessageQueue中IdleHandler及SyncBarrier

1、IdleHandler 2、SyncBarrier public static interface IdleHandler { /** * Called when the message queue has run out of messages and...

2019-11-09 14:09:16

阅读数 80

评论数 0

原创 Android UI开发细节Api使用技巧总结

收集平时UI开发中使用到或者学习笔记做个收录,好记性不如烂笔头:持续更新中。。。。 1、图片渐变技巧 第一种:叠层退去,逐渐显示底层 第二种:直接组合使用,各取一部分组成一个,利用canvas.clipRect来截取 第三种:叠层慢慢增加并且和底层取个交集:取两层绘...

2019-11-09 14:07:57

阅读数 2550

评论数 0

原创 Android高级进阶-NDK 开发总结

总结下之前的ndk开发

2019-01-30 14:38:15

阅读数 214

评论数 0

原创 插件Manifest注册组件支持

现有的技术方案 主要分几种: 1)基类代理Activity同步反射方式子类 2)Hook Instrumentation来同步创建插件Activity实例,记录在ActivityRecord队列中 3)HooK ,同步AMS对生命周期的回调,这回调有两种方案 (1)动态代理方案,Hook替换bin...

2018-11-09 16:30:59

阅读数 185

评论数 0

原创 插件化框架原理设计

架构图 实现原理简介 如上架构图所示,为了实现组件Activity、Service、ContentProvider的生命周期由系统AMS管理,而采取了Hook 方案,而不需要框架来实现入侵式的替换组件的父类来通过反射的方式同步生命周期。 对于插件Apk加载生成PluginApk对象由Plugin...

2018-11-09 16:15:09

阅读数 473

评论数 0

原创 插件Apk 资源加载机制

系统安装过的Apk资源加载原理 可以参考下之前写的文章:Android App启动时Apk资源加载机制源码分析 一句总结要表达的是Apk资源都是由AssetManager来加载维护的,核心代码 // AssetManager创建 AssetManager assets = n...

2018-10-12 15:19:48

阅读数 174

评论数 0

原创 插件化so库加载原理及实现

前言 在正常开发中,我们只负责调用方法加载so,整个实现交给系统去完成,那插件中要加载so库要做什么单独的处理么,在不清楚的情况下,先看下系统是怎么实现的,我们直接利用系统来完成加载要怎么做。 系统加载so库流程源码分析 先看下开发中加载so库的方式如下,基于Android-25: static ...

2018-09-27 17:40:26

阅读数 385

评论数 0

原创 Android mmap技术实现高性能日志库

1、C/C++实现高性能,Buffer缓存来减少IO次数,Native开发内存占用低,写入内存速度快,不卡顿 2、内存映射mmap实现crash,或进程退出时的未保存的log,避免丢失 数据 3、保存本地,需要的时候日志上传辅助定位 4、密文保存日志,防止数据泄露

2018-07-25 19:29:08

阅读数 1476

评论数 0

原创 Android嵌套滑动-Behavior方案实战及细节注意

笔者在2013年就收到Android嵌套滑动的UI效果需求,当时都是直接从监听滑动事件分发做起,至今再次收到这种类似的需求,一直以来想更新下之前的实现方式,相对于Behavior封装过的方案而言毕竟不够优雅,现就介绍前后两种方案。 老方案的思路 这种方式是底层,其他的封装(包括behavoi...

2018-06-07 10:59:24

阅读数 2104

评论数 1

原创 Android性能优化方面概述

个人总结性能优化中需要考虑的方面以及简单总结,毕竟相关内容很多,就不详细展开具体内容,但持续更新中,方便自己或大家查阅 1、UI卡顿优化 1)布局优化:减少层级(merge),代码重用(include),延迟初始化(viewstub) 2)绘制优化:频繁刷新,过度绘制,超过1...

2018-03-07 12:34:11

阅读数 229

评论数 0

原创 Glide缓存机制

Glide缓存机制 Glide缓存非常先进,很灵活,很全面,总体上来讲有内存缓存和磁盘文件缓存。缓冲机制概括来讲就是读缓存以及是写入缓存的机制。而Glide读缓存时机就是先内存缓存查找再到磁盘缓存查找最后网络,写入缓存则就是在获取到原始source图片之后,先写入磁盘缓存,再加入内存缓存。 每...

2018-01-11 13:25:51

阅读数 7279

评论数 0

原创 Android Studio填坑之路

Android Studio是个强大Android开发工具,每个新版本的发布都有带来新的惊喜和爽快,但是同时也带来惊吓和糟糕,这边文章就是收集开发中遇到的细节问题以及解决方法。

2017-12-28 17:26:46

阅读数 179

评论数 0

原创 《深入探索Android热修复原理》代码热修复总结

阿里巴巴对热修复技术的发展路线: 1、基于Xposed而来的Dalvik下java method hook技术-Dexposed框架,仅限于Dalvik虚拟机 2、兼容到Art虚拟机的Andfix,同样是基于底层的结构替换方案 3、进而发展就是hotfix,基于Andfix,有所提高,...

2017-12-25 11:11:20

阅读数 550

评论数 1

原创 手机dump内存Odex格式反编译

在上篇文中介绍了如何dump内存,生成的文件为odex格式,需要进一步反编译才能查阅。先是通过baksmali工具转成smali格式文件,然后再通过smali工具把smali格式逆向dex。

2017-11-27 20:37:05

阅读数 678

评论数 0

原创 IDA动态调试技术及Dump内存

最近研究SO文件调试和dump内存时,为了完整IDA调试起来,前后摸索了3天才成功,里面有很多坑和细节,稍微不注意,就一直排行,需要理解每步骤的作用意义,否则就会觉得教程不对,要详细的教程可能找不到,大部分都是简单介绍,没有提醒细节和易忽视的点动态调试步骤,顺序严格如下事先准备工作 1、要求ro...

2017-11-20 21:22:08

阅读数 4175

评论数 0

原创 Android studio下Cmake配置编译开发jni总结

在Android Studio在2.2版本实现了Ndk开发新的编译工具Cmake,比之前ndk-build方式来得更方便快捷,可以直接运行app时就生成了so并打包到apk中,省去了之前开发ndk时出现的很多麻烦。例如没有代码提示,自动填充,开发起来都是一个个手写,出现错误只能是编译打包阶段提示,...

2017-10-18 13:47:52

阅读数 1698

评论数 0

原创 Sdk界面UI开发自动适配屏幕技巧

前两篇分别是关于Sdk安全方面以及开发注意事项-Sdk迭代开发设计需要考虑的方面总结, 这篇继续讲Sdk开发相关内容-Sdk界面UI开发中图片自适配。在apk开发中我们不会太关注这个图片适配,因为系统会自动适配。这里就是要从图片加载到内存时,具体如何适配的屏幕分辨率先讲起,那还要从图片bitmap...

2017-09-07 21:57:25

阅读数 598

评论数 0

原创 《Android彻底组件化方案实践》读后分析

项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。在我看来,模块化是一种指导理念,其核心思想就是分而治之、降低耦合。而在Android工程中如何实施,目前有两种途径,也是两大流派,一个是组件化,一个是插件化。

2017-08-01 17:28:34

阅读数 2111

评论数 0

原创 Sdk迭代开发设计需要考虑的方面总结

Sdk开发设计与Apk开发不同的地方还是有些明显的不同之处,明显的区别是使用对象不一样,Sdk是基于开发者使用的,都是有一定的开发水平,相对于Apk用户而言基本是大众用户,做得好不好不仅仅是运行起来性能、稳定行以及功能,还需要顾忌开发者调用是否方便、嵌入成本、更新维护成本,因为Sdk是作为一个库给...

2017-07-19 17:26:55

阅读数 1934

评论数 4

提示
确定要删除当前文章?
取消 删除