Swagger Format插件

Swagger Format插件

事情是这样的。

之前一直和C端后台对接,用的是Yapi来管理接口文档。我们拿到gson后用GsonFormat转换成实体类,yapi上工整的表格随时查阅字段含义,重要的自己补上注释。突然有天,对接B端的业务了。业务复杂程度升了一级,自己补充注释不那么愉快了,Swagger UI拿到手的时候,发现这生成的Model和实体类格式好像呀,稍稍转换下就可以直接用了!

阅读全文

setContentView流程

setContentView

getDelegate

->AppCompatDelegate.Create

阅读全文

日志

阅读全文

parcelable

Parcelable

序列化:将对象装华为可以传输的二进制流(二进制序列的过程)

Parcel:提供了一套机制,可以将序列化之后的数据写入到一个共享内存中,其他进程通过Parcel可以从这块共享内存中读出字节(Binder 机制),并反序列化成对象,下图是这个过程的模型。。

阅读全文

View 绘制

View 绘制

过度绘制

硬件加速

https://tech.meituan.com/2017/01/19/hardware-accelerate.html

阅读全文

as项目中的gradle

gradle

阅读全文

三种动画

逐帧动画

属性动画 ValueAnimator

可直接修改任何属性,形成动画

阅读全文

volley

这是仔细看的第一个框架了,当时用的是mvp+volley。

面向接口编程,可高度自定义呀,实现Cache,可以管理消息队列;实现HttpStack,可以替换底层的网络请求方式。

但是虽然提供了cancle方法,还是存在内存泄漏呀。
它的cancle()只是修改了Request的mCanceled值,在执行run方法取这个request要执行performRequest之前会看是否是取消的,如果是取消了的,会执行finish,finish时将response的回调置空,不会泄露。在这之后取消,还是可能通过Response.Listener和Response.ErrorListener持有当前activity,导致泄漏。仍记得在Presenter里面网络请求的回调里都要对view进行判空,不然有一大波空指针在等你。

阅读全文