Song

自命不凡,却无足轻重


  • 首页

  • 关于

  • 归档

  • 搜索

Volley源码浅析

发表于 2018-12-20 | 分类于 Android实战 | 阅读次数:

Volley目前看来是一个很老的框架了,很早之前我也在项目中使用过,但是当时没有去深入了解其原理。后来OkHttp出来之后,便迁移到了Okhttp。Okhttp以他的高效闻名,而大多数文章也仅仅只是一笔带过,许多人也只是跟风效仿并不知道其中为何高效之处。而同为优秀的热门框架,为何Okhttp更被大家所推荐,更多人使用?这是我重新研究Volley的原因,既然性能有优劣,那一定是需要对比。所以我们起码要了解不同框架的原理和实现思路,这样才能知道为什么这个框架更加好更加适合我们的业务,是否需要使用这个框架,这是对技术选型判断的依据,也是我写这个文章和后面分析okhttp的目的。

阅读全文 »

okhttp3请求头中含中文报错原因及解决方案

发表于 2018-12-05 | 分类于 Android常见问题 | 阅读次数:

最近在负责做一个图片加载模块,测试过程中反馈一个问题:有两个测试设备上加载不了图片。我就纳闷了,我就一个加载图片模块怎么还跟机型适配扯上关系了。然后查了下日志异常如下:

阅读全文 »

Dagger2 从生成的代码看原理

发表于 2017-04-24 | 分类于 Android日常问题 | 阅读次数:

接着之前的注解,正好最近有时间,对去年大热的开源库Dagger做一个分析。
首先举一个最基础的MVP模式的例子,通过使用注解

阅读全文 »

Android注解实践——运行时注解框架

发表于 2017-04-09 | 分类于 Android文章 | 阅读次数:

之前写了一篇编译期注解的文章,里面有提到注解作用的三种时期,SOURCE是会被编译器丢弃的注解,CLASS是在编译器保存,RUNTIME是在运行期保留。网上大多的资料讲的也都是编译期的注解,因为这是一种不影响效率的方式,也是很多热门开源库采用的方式。但是有些时候编译期注解并不能帮我们解决碰到的问题,这个时候如果了解运行时注解,也许就能解决问题。基础的概念前一篇已经讲过,这里就不再介绍了。

阅读全文 »

Android注解实践——打造编译时注解框架

发表于 2017-04-08 | 分类于 Android文章 | 阅读次数:

最近一直在做项目的重构工作,因为是做组件化,正好看到阿里云开源一个路由框架ARouter。看了一下源码,发现是项目主要也是运用到了编译时注解的技术。联想到之前最早用过的ButterKnife,到现在的Retrofit等等各种主流的开源框架,其实都有使用到这项强大技术,之前也只是简单了解了一下原理,这次就想自己也写一个这种框架,搞清楚实现原理。
首先,注解处理器(Anonotation Processor)分为编译时(Compile time)注解和运行时(Runtime)通过反射机制运行的注解,因为编译期注解实际上是生成.java文件辅助我们实现功能,所以不会有效率上的损耗,上面提到的开源框架也都是基于这种基础实现的。
这篇文章只涉及编译时注解(类似于ButterKnife),教大家如何打造一个简单的编译时注解框架,如何调试,和一些在实践中碰到的问题。

阅读全文 »

坑爹的Android 6.0 startDiscovery蓝牙搜索不到设备问题

发表于 2017-03-27 | 分类于 Android日常问题 | 阅读次数:

最近在做重构项目的过程中,重构蓝牙扫描模块的时候。发现调用扫描方法的时候,根本没有返回搜索到的设备。开始以为是厂商sdk的bug,或者是自己新写的代码问题。然后没有用厂商sdk,自己写代码来扫描,琢磨了半天看日志,debug,依然没找到问题。后来突然想到是不是权限的问题,之前项目的targetSdkVersion 22,新的项目是23,然后Android 6.0有一套新的权限机制,敏感权限需要申请,感觉可能是权限问题导致的。

阅读全文 »

Android在应用退出后发送请求解决方案

发表于 2017-03-15 | 分类于 Android文章 | 阅读次数:

最近有这么一个需求,在app退出登录之后发送请求到后台,这个请求不是特别重要,只是为了应用过审。所以在常规情况下能够发送请求即可,下面方案不保证能够在所有情况下应用退出都能发送请求。

常规退出场景

常规情况下应用退出有这么几种情况:
1.app内退出按钮或者双击返回;
2.最近应用列表,划掉应用卡片(常见);
3.应用崩溃;
我们一个个来分析解决。

阅读全文 »

Android Studio 添加library添加.so文件问题解决

发表于 2016-05-27 | 分类于 Android日常问题 | 阅读次数:

今天在Android studio中导入library和.so时发生各种异常,记录一下解决过程。

阅读全文 »

Android Studio 2.0异常

发表于 2016-05-25 | 分类于 Android日常问题 | 阅读次数:

今天在导入同事的项目完成后没报错,运行的时候却报了一段错误,自己弄了会儿都没解决。

1
2
3
:app:transformClassesWithInstantRunForDebug FAILED
Error:Execution failed for task ':app:transformClassesWithInstantRunForDebug'.
Invalid signature file digest for Manifest main attributes

后来经过搜索发现解决方案,禁用2.0的快速启动新功能,按照下图取消勾选即可。
alt text

Song

Song

Maybe i never told you.

9 日志
4 分类
9 标签
GitHub Weibo
Links
  • 洛果
© 2015 — 2018 Song
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4