摘要:前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解。 对Apt技术有所了解。 Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源码以及思路分析,至于其拦截器,降级,ioc等功能感兴趣的同学请自行阅读源码,强烈推荐阅读云栖社区的 阅读全文
posted @ 2019-10-18 16:15 Jymoon 阅读 (76) 评论 (0) 编辑
摘要:LeakCanary是Android内存泄漏的框架,作为一个“面试常见问题”,它一定有值得学习的地方,今天我们就讲一下它。作为一名开发,我觉得给人讲框架或者库的原理,最好先把大概思路给读者讲一下,这样读者后面会按照这个框架往里填内容,理解起来也更容易一些,所以我先把LeakCanary的大致原理放出 阅读全文
posted @ 2019-10-11 19:08 Jymoon 阅读 (20) 评论 (0) 编辑
摘要:在讲主题之前,我们先来理解两个概念:签名和加密 我们从字面意思看: 签名就是一个人对文件签署自己的名字,证明这个文件是我写的或者我认可的,所以只要别人看到我的签名,就知道这个文件确实是可以信任的,如果文件没有我的签名,或者签名不对,说明文件可能被改动了,不可信。在网络安全中,签名一般对应数字签名,它 阅读全文
posted @ 2019-10-10 11:19 Jymoon 阅读 (330) 评论 (0) 编辑
摘要:简述 关于Activity启动流程和Binder的文章很多,大多数是分开来讲的,本文将二者结合起来,着重分析启动流程中跨进程方面的细节,其实,启动流程看似调用繁多,主要是复杂在Activity栈管理等方面,如果将其看作一个整体,整个启动流程就简单很多。在启动流程中,App和AMS的跨进程调用是其中的 阅读全文
posted @ 2019-05-24 12:04 Jymoon 阅读 (217) 评论 (0) 编辑
摘要:需求:webview在加载的时候如果网络断开,会显示默认的错误界面,长得很丑,需要单独写一个页面,在网路出错的时候显示,点击重试以后重新加载网页 乍看挺简单的需求,但在实际过程中页碰到了不少坑,主要是webview造成的,在此记录一下。 一:如何判断网络出错: 方案:在webviewClient的回 阅读全文
posted @ 2018-10-10 16:40 Jymoon 阅读 (1407) 评论 (0) 编辑
摘要:最近遇到了一个需求:RecylerView的某一项为listView,即listView嵌套,且要求内部ListView可以滑动,高度固定。 如果直接简单的写完,会发现有两个问题: 1.内部listView高度显示一行 2.内部listview无法进行滑动 以上两个问题可以用以下方法加以解决: 针对 阅读全文
posted @ 2017-05-05 13:44 Jymoon 阅读 (768) 评论 (0) 编辑
摘要:Proguard是安卓提供的方便开发者对代码和apk进行保护和精简的工具,可在SDK/tools文件夹下找到。 proguard的作用 : 1,代码混淆 2,精简代码,删掉没有用到的代码,减小apk的体积。 使用场景: 1,对sighed APK进行代码混淆和精简,从而使得发布的代码可以防止被别人反 阅读全文
posted @ 2017-03-10 18:00 Jymoon 阅读 (8917) 评论 (0) 编辑
摘要:栈可以用顺序表(数组)也可以用链表来储存内容,本文采用顺序表(数组)来保存内部元素。代码如下: 阅读全文
posted @ 2016-10-16 15:50 Jymoon 阅读 (193) 评论 (0) 编辑
摘要:笔试中经常会遇到操作字符串,输入输出格式等问题,为了以后不再犯迷糊,在这里总结一下,也希望小伙伴们能够跳过这些坑,专心把思路放到算法设计上来。 1,字符串操作: 题目1:输入一行字符串(中间可能会有空格),然后对该字符串做操作。 坑:在c++中,如果直接cin>>s,在遇到空格和回车时是不区分的,所 阅读全文
posted @ 2016-09-24 19:02 Jymoon 阅读 (433) 评论 (0) 编辑
摘要:最近因为项目需要对声音进行变声,所以边学习边做,发现音频的处理思路并不难,但是做起来还是有些繁琐的(比预期的) 趁着脑子还发热,赶紧把思路总结一下,记录下来。 主要讲三个部分 1,如何变声2,安卓实现变声3,ios实现变声 1.如何变声? 要想自己写一个变声的函数或者库出来,谈何容易,所以采用了大家 阅读全文
posted @ 2016-06-17 19:14 Jymoon 阅读 (4410) 评论 (0) 编辑