关闭

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

了解iOS的同学应该知道在iOS中有个UISliderBar控件,在iPhone手机中的设置文字大小中使用了该控件。近来产品提的需求中有一个是更改APP中部分字体大小,虽然技术难度不大但工作量还是有的,思路是利用LayoutInflater.Factory实现的(如果你对LayoutInflater.Factory不熟悉可以阅读之前写的Android 源码系列之从源码的角度深入理解LayoutInflater.Factory之主题切换系类文章)。UI是参考iOS的UISliderBar设计的,而And...
阅读(4129) 评论(11)

Android UI设计之<十一>自定义ViewGroup,打造通用的关闭键盘小控件ImeObserverLayout

之前产品那边提了这样的需求:用户输入完信息后要求点击非输入框时要把软键盘隐藏。当时看到这个需求觉得没啥难度也比较实际,于是晕晕乎乎的就实现了,可后来产品那边说了只要有输入框的页面全都要按照这个逻辑来,美其名曰用户体验……当时项目中带有输入框的页面不少,如果每个页面都写一遍逻辑,这就严重违背了《重构,改善既有代码的设计》这本书中的说的事不过三原则(事不过三原则说的是如果同样的逻辑代码如果写过三遍以上,就要考虑重构)。于是当时花了点时间搞了个通用的轻量级的关闭键盘的小控件ImeObserverLayout……...
阅读(4638) 评论(8)

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

好久没有写有关UI的博客了,刚刚翻了一下之前的博客,最近一篇有关UI的博客是在2014年写的:Android UI设计之自定义Dialog,实现各种风格效果的对话框。近来项目有个需求,要做个和QQ空间类似的菜单栏透明度渐变和下拉刷新带有阻尼回弹的效果。于是花点时间动手试了试,基本上达到了QQ空间的效果...
阅读(8934) 评论(8)

Android 源码系列之<七>从源码的角度深入理解IntentService及HandlerThread

提起Service大家都很熟悉,它乃Android四(si)大(da)组(jing)件(gang)之一。但是说起IntentService有童靴或许有点陌生,看名字感觉和Service有关连。不错,不仅有关联而且关系还不一般,IntentService是Service的子类,所以它也是正宗的Service,由于IntentService借助了HandlerThread,我们今天就从源码的角度巴拉一下IntentService及HandlerThread,看看它们是何方神圣,如果你对它们非常熟悉,请跳过本文(...
阅读(4327) 评论(0)
30条 共2页1 2 下一页 尾页
    个人资料
    • 访问:116711次
    • 积分:1547
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:0篇
    • 译文:0篇
    • 评论:77条
    最新评论