关闭
当前搜索:

Android 源码系列之<十九>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<下>

前边两篇文章Android 源码系列之自定义Gradle Plugin,优雅的解决第三方Jar包中的bug和Android 源码系列之自定义Gradle Plugin,优雅的解决第三方Jar包中的bug里主要讲解了如何自定义Gradle Plugin,然后利用自定义的Gradle Plugin插件来修复项目中引用的第三方Jar包中的bug的方法,其核心就是利用开源库Javassist修复第三方Jar包中的class文件,然后在项目打包的时候把修复过的Jar包打包进项目中从而达到修...
阅读(89) 评论(0)

Android 源码系列之<十八>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<中>

在上篇文章Android 源码系列之自定义Gradle Plugin,优雅的解决第三方Jar包中的bug中由于篇幅原因我们主要讲解了如何创建自定义Gradle Plugin以及修复第三方Jar包中的bug的思路,如果你还没看过上篇文章,强烈建议阅读一下。这篇文章就带领小伙伴们借助Javassist开源库实现对class文件的修改。...
阅读(365) 评论(0)

Android 源码系列之<十七>自定义Gradle Plugin,优雅的解决第三方Jar包中的bug<上>

我们在开发中经常用到一些优秀的第三方库,比如okhttp,glide,butterknife等。这些库不仅提高了开发效率而且避免踩坑,假如在应用中这些开源库出现了bug,我们随时可以从GitHub下载源码进行bug修改。但是项目中使用的库不是开源的并且该库又存在bug,由于没有源码也就无法进行bug的修复,一般做法就是给非开源库的作者或组织反馈bug等他们进行修复,如果他们修复的及时还好说,一旦他们更新不及时就会给我们APP造成不好影响(比如用户流失)……这篇文章我就给小伙伴们讲解一下如何自定义Gradle...
阅读(371) 评论(0)

Android 源码系列之<十六>,深入浅出WebSocket,打造自己的即时聊天交互系统<下>

在上篇文章Android 源码系列之,深入浅出WebSocket,打造自己的即时聊天交互系统中主要讲解了WebSocket协议,然后通过实战方式展示了WebSocket的通信过程,这篇文章我将从源码的角度带领小伙伴们深入理解一下autobahn以及okhttp的Socket通信源码,如果你对上述项目的WebSocket实现比较清楚了,请跳过本文(*^__^*) ……...
阅读(11655) 评论(0)

Android 源码系列之<十五>,深入浅出WebSocket,打造自己的即时聊天交互系统<上>

做Java开发的小伙伴们应该对Socket比较熟悉,在J2SE的Socket编程这一章节中专门对Socket通信做了详细介绍,当时自学完该章节后只知道Socket是端到端通信的,Server端根据指定端口打开Socket链接,然后等待客户端来连接;客户端根据Server端IP地址和端口创建一个Socket通道,根据该通道和Server端进行通信。后来在工作中有使用Socket通信,使用场景是聊天和推送,当时为了项目进度就在GitHub上找了一个不错的开源库autobahn-java中应用在项目中,功能实现之...
阅读(2665) 评论(1)

Android 源码系列之<十四>从源码的角度深入理解LeakCanary的内存泄露检测机制(下)

在上边文章Android 源码系列之从源码的角度深入理解LeakCanary的内存泄露检测机制(中)由于篇幅原因仅仅向小伙伴们讲述了在Android开发中如何使用LeakCanary来检测应用中出现的内存泄露,并简单的介绍了LeakCanary的相关配置信息。根据上篇文章的介绍我们知道LeakCanary为了不给APP进程造成影响所以新开启了一个进程,在新开启的进程中做内存泄露检测,这篇文章将要带领小伙伴们从源码的角度出发深入了解一下LeakCanary的内存泄露检测机制,希望能给小伙伴们一点帮助,...
阅读(7911) 评论(0)

Android 源码系列之<十三>从源码的角度深入理解LeakCanary的内存泄露检测机制(中)

在上篇文章Android 源码系列之从源码的角度深入理解LeakCanary的内存泄露检测机制(上)中主要介绍了Java内存分配相关的知识以及在Android开发中可能遇见的各种内存泄露情况以及相对应的解决方案,如果你还没有看过上篇文章,建议点击这里阅读一下,这篇文章我将要向大家介绍如何在我们的应用中使用square开源的LeakCanary库来检测应用中出现的内存泄露,如果你已经对LeakCanary的使用非常熟悉了请跳过本文(*^__^*) ……...
阅读(4134) 评论(0)

Android 源码系列之<十二>从源码的角度深入理解LeakCanary的内存泄露检测机制(上)

提到内存泄露有的小伙伴们可能遇见过,处理起来是非常棘手的。记得刚从事Android开发那会手机主流版本还是2.2的,手机内存普遍都很小,开发的时候在处理耗用内存过大的对象(比如Bitmap等)上,稍有不慎就会出现OOM,这很让人头疼,更为头疼的是发版后还是会收到有关OOM的反馈。为了解决OOM的问题就反复查代码捋逻辑,然后借助MAT工具来分析可能引发的内存泄露点,但是MAT使用起来很麻烦……直到去年著名的开源组织square在github上开源了著名的内存泄露检测库LeakCanary,它是专门用来检测内存...
阅读(2215) 评论(0)

Android 源码系列之<十一>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(下)

在上篇文章Android 源码系列之从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(上)中我们讲解了通过AccessibilityService实现自动安装APK小外挂的操作流程,如果你还没有看过上篇文章请点击这里。在这篇文章中我将带领小伙伴从源码的角度来深入学习一下AccessibilityServie的技术实现原理,希望这篇文章能给小伙伴们一点帮助,如果你对这块很熟悉了,恭喜你可以过本文了(*^__^*) ……...
阅读(4816) 评论(4)

Android 源码系列之<十>从源码的角度深入理解AccessibilityService,打造自己的APP小外挂(上)

说起外挂特别是玩游戏的小伙伴估计对它很熟悉,肯定有部分小伙伴使用过,至于为什么使用它,你懂得(*^__^*) ……我最早接触外挂是在大二的时候,那时候盛行玩QQ农场,早上一睁眼就是打开电脑先把自己的菜收了,收完之后再去偷别人的;后来童靴说非凡软件上有一个偷菜外挂,于是赶紧整了一个,有了外挂之后就告别了体力时代,省时又省力……既然在PC上有外挂,那在智能手机上可以做外挂呢?答案是OK的,今天这篇文章就是讲解一下如何在Android设备上制作自己的小外挂,需要说明的是本文仅仅做技术交流……...
阅读(6758) 评论(2)

Android UI设计之<十四>自定义ViewGroup,实现绚丽的仿支付宝咻一咻雷达脉冲效果

去年春节的时候支付宝推行的集福娃活动着实火的不能再火了,更给力的是春晚又可以全民参与咻一咻抽奖活动集齐福娃就可平分亿元大红包,只可惜少了敬业福……在支付宝的咻一咻页面有个雷达扩散的动画效果,当时感觉动画效果非常棒,于是私下尝试着实现了类似的效果,后来在github发现有大神也写有类似效果,于是读了一下大神的代码发现我们的核心思想都是一样的,只是细节不同,然后我就择其善者而从之,把两份代码整合了一下.........
阅读(4080) 评论(1)

Android UI设计之<十三>自定义ScrollView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

之前写过一篇Android UI设计之自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果的文章,写完那篇文章后想趁热打铁再写一篇用ScrollView来实现同样效果的文章,可是写了点开头就没有继续写下去了,当时想的是等用到再写吧,于是把它扔在了草稿箱中。近来恰好有用到,赶紧就把该文章补充完整发表出来,希望能给大家一点帮助.........
阅读(5246) 评论(2)

Android 源码系列之<九>从源码的角度深入理解Activity的launchModel特性

本文主要通过在实际开发过程中遇见的两个APP相互打开出现运行在同一个任务栈的情况带领我们排查问题并找出问题所在,然后引出要讲解的重点:Activity的launchMode属性,最后结合案例列出了常见的各种情形并给出了总结。文中为了更清楚的查看当前任务的返回栈的情况,介绍了adb shell dumpsys activity activities命令……...
阅读(4476) 评论(0)

Android 源码系列之<八>从源码的角度深入理解缓存策略之LruCache

在Android开发中缓存技术应用的十分广泛,我们最长见的是对图片进行缓存毕竟图片很耗内存的,目前比较著名的图片加载库比如Android-Universal-Image-Loader等都使用了缓存技术。缓存可分为三级,可分别表述为内存缓存、硬盘缓存和网络缓存,他们的加载顺序一般都是内存缓存→硬盘缓存→网络缓存。为了便于使用内存缓存,Google在其V4包中给我们提供了LruCache类,该类很重要,在面试的过程中也会经常会问到。今天我们就从源码的角度来深入理解LruCache类。如果你对LruCache非常...
阅读(1507) 评论(0)

Android UI设计之<十二>自定义View,实现绚丽的字体大小控制控件FontSliderBar

了解iOS的同学应该知道在iOS中有个UISliderBar控件,在iPhone手机中的设置文字大小中使用了该控件。近来产品提的需求中有一个是更改APP中部分字体大小,虽然技术难度不大但工作量还是有的,思路是利用LayoutInflater.Factory实现的(如果你对LayoutInflater.Factory不熟悉可以阅读之前写的Android 源码系列之从源码的角度深入理解LayoutInflater.Factory之主题切换系类文章)。UI是参考iOS的UISliderBar设计的,而And...
阅读(4383) 评论(21)
33条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:137674次
    • 积分:1773
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:0篇
    • 译文:0篇
    • 评论:87条
    最新评论