自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 华为手机adb connect连接失败解决方案(转)

https://www.jianshu.com/p/4758c8238165

2021-08-10 16:59:50 2556 1

原创 自定义注解-结合Eventbus

遇到一个不常用的知识点,结合案例记录下来。先写一个最简单的自定义注解,需要在接口前加上三个注解@Documented、@Retention、@Target@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MyAnnotation { Strin...

2019-06-17 15:43:34 174

原创 内存泄漏检测工具LeakCanary

内存检测工具一直在用,但是它的原理却只是一知半解,看了遍源码同时站在巨人的肩膀捋了一遍思路。发现前人分析的源码与当前新码有所不同,但是精髓原理是一致的,所以总结记录下。1、使用方法简单,引入依赖,在Application中install就OK;2、内部处理其实是在Application中regist了一个Activity生命周期的回调,监听了Activity在onDestroy状态;3...

2019-06-14 16:29:16 194

原创 HandlerThread

在Looper的源码中有段注释* <pre>* class LooperThread extends Thread {* public Handler mHandler;** public void run() {* Looper.prepare();** mHandler = new Handler() {...

2019-06-14 11:00:20 99

原创 IntentService

IntentService是继承了Service,使用方法与Service相同,不同之处在于IntentService内部自己维护了工作线程,可以操作耗时操作。首先在onCreate中初始化一个HandlerThread,开启一个工作线程,并且获得它所在线程的looper,绑定Handler,@Overridepublic void onCreate() { // TODO: ...

2019-06-14 10:49:57 694

原创 源码角度重新认识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 118

原创 小程序模块化

网上已经有很详细的介绍了,这里补充一点function sayHello(name) { return 'Hello ' + name}function sayGoodbye(name) { return 'Goodbye ' + name}js里面有两个方法时,对外暴露有两种写法都可以官方文档是这样module.exports.sayHello = sayHelloexports.sayG...

2018-05-10 15:01:48 204 1

原创 Window10 应用商店闪退问题

新装win10后打开应用商店,搜索软件直接闪退,查看了网上前人留下的经验发现还是没有解决问题,后来点开了电脑的设置默认是选中第二项,点击第一项后,应用商店可以使用了当然选中开发人员模式应用商店也是可以使用的...

2018-04-26 11:00:13 1323

原创 Android中RSA+BASE64加密解密

Android中调用接口上传参数时,有会遇到需要加密的参数,一般会用到RSA和BASE64加解密。不管后台是什么语言,加解密过程大致是相同的:1、后台生成RSA公钥和私钥,公钥分发给客户端给参数加密,私钥用来解密参数。2、客户端调接口拿到公钥,一般这个公钥是已经BASE64处理过的,需要我们先解码,获取真正可加密的公钥。3、加密参数。4、再BASE64处理,上传服务器。

2016-11-01 15:16:10 3385 3

原创 学习jenkins+git+gradle实现Android持续集成心得总结

今天有空学习了下jenkins在Android上的应用,一下午的时间,最终看到了让人激动的画面下面说正题,总结了下步骤如下:1、下载jenkins的war包,安装,启动。2、登录jenkins,安装插件3、配置系统配置4、创建任务5、构建任务6、拿到apk7、后续怎么做看个人需要,比如写脚本输入到指定路径,看到有人上传到了蒲公英。。。一、下载je

2016-10-27 17:48:17 784

原创 微信支付之迷之-1

做到微信支付的时候都会吐槽一下他的返回错误码-1,简直是迷之存在虽然他的解决方案已经说明了多种可能原因,但是我们也很难定位到哪里。下面说下自己遇到的问题以及排查步骤,以便后面再遇到快速解决。1、首先是WXPayEntryActivity这个微信提供的支付结果处理类,public void onResp(BaseResp resp) {LogUtil.d("onPayFinish

2016-10-11 10:20:06 499

原创 学习GreenDao路上的经验总结

1、首先添加GreenDao依赖,要选择对了,不然找不到需要的类,经过反复尝试,终于找到了一个正确的compile 'de.greenrobot:greendao-generator:2.1.0'2、自动生成表的代码,在例子中很详细。但是,怎么使自动生成代码运行起来,走了点远路,最终也回归正途了需要项目中New->Module->Java Library,创建java代码

2016-09-28 15:28:49 245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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