- 博客(12)
- 收藏
- 关注
原创 自定义注解-结合Eventbus
遇到一个不常用的知识点,结合案例记录下来。先写一个最简单的自定义注解,需要在接口前加上三个注解@Documented、@Retention、@Target@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MyAnnotation { Strin...
2019-06-17 15:43:34 181
原创 内存泄漏检测工具LeakCanary
内存检测工具一直在用,但是它的原理却只是一知半解,看了遍源码同时站在巨人的肩膀捋了一遍思路。发现前人分析的源码与当前新码有所不同,但是精髓原理是一致的,所以总结记录下。1、使用方法简单,引入依赖,在Application中install就OK;2、内部处理其实是在Application中regist了一个Activity生命周期的回调,监听了Activity在onDestroy状态;3...
2019-06-14 16:29:16 200
原创 HandlerThread
在Looper的源码中有段注释* <pre>* class LooperThread extends Thread {* public Handler mHandler;** public void run() {* Looper.prepare();** mHandler = new Handler() {...
2019-06-14 11:00:20 108
原创 IntentService
IntentService是继承了Service,使用方法与Service相同,不同之处在于IntentService内部自己维护了工作线程,可以操作耗时操作。首先在onCreate中初始化一个HandlerThread,开启一个工作线程,并且获得它所在线程的looper,绑定Handler,@Overridepublic void onCreate() { // TODO: ...
2019-06-14 10:49:57 701
原创 源码角度重新认识Handler、Looper、Message、MessageQueue
再次看Handler源码有了新的理解和认识,个人总结的可能有不当之处。一、Message主要的几个常见属性是what、object、arg1,这几个是在使用时常遇到的,还有几个源码级的属性when(long)、target(Handler)、next(Message),这几个属性关联到四兄弟的工作机制。首先when是接收handler.sendMessageDelay的delay时间的,一...
2019-06-10 15:50:29 126
原创 小程序模块化
网上已经有很详细的介绍了,这里补充一点function sayHello(name) { return 'Hello ' + name}function sayGoodbye(name) { return 'Goodbye ' + name}js里面有两个方法时,对外暴露有两种写法都可以官方文档是这样module.exports.sayHello = sayHelloexports.sayG...
2018-05-10 15:01:48 215 1
原创 Window10 应用商店闪退问题
新装win10后打开应用商店,搜索软件直接闪退,查看了网上前人留下的经验发现还是没有解决问题,后来点开了电脑的设置默认是选中第二项,点击第一项后,应用商店可以使用了当然选中开发人员模式应用商店也是可以使用的...
2018-04-26 11:00:13 1341
原创 Android中RSA+BASE64加密解密
Android中调用接口上传参数时,有会遇到需要加密的参数,一般会用到RSA和BASE64加解密。不管后台是什么语言,加解密过程大致是相同的:1、后台生成RSA公钥和私钥,公钥分发给客户端给参数加密,私钥用来解密参数。2、客户端调接口拿到公钥,一般这个公钥是已经BASE64处理过的,需要我们先解码,获取真正可加密的公钥。3、加密参数。4、再BASE64处理,上传服务器。
2016-11-01 15:16:10 3401 3
原创 学习jenkins+git+gradle实现Android持续集成心得总结
今天有空学习了下jenkins在Android上的应用,一下午的时间,最终看到了让人激动的画面下面说正题,总结了下步骤如下:1、下载jenkins的war包,安装,启动。2、登录jenkins,安装插件3、配置系统配置4、创建任务5、构建任务6、拿到apk7、后续怎么做看个人需要,比如写脚本输入到指定路径,看到有人上传到了蒲公英。。。一、下载je
2016-10-27 17:48:17 800
原创 微信支付之迷之-1
做到微信支付的时候都会吐槽一下他的返回错误码-1,简直是迷之存在虽然他的解决方案已经说明了多种可能原因,但是我们也很难定位到哪里。下面说下自己遇到的问题以及排查步骤,以便后面再遇到快速解决。1、首先是WXPayEntryActivity这个微信提供的支付结果处理类,public void onResp(BaseResp resp) {LogUtil.d("onPayFinish
2016-10-11 10:20:06 511
原创 学习GreenDao路上的经验总结
1、首先添加GreenDao依赖,要选择对了,不然找不到需要的类,经过反复尝试,终于找到了一个正确的compile 'de.greenrobot:greendao-generator:2.1.0'2、自动生成表的代码,在例子中很详细。但是,怎么使自动生成代码运行起来,走了点远路,最终也回归正途了需要项目中New->Module->Java Library,创建java代码
2016-09-28 15:28:49 253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人