Szhangbiao's blog

记录一些让自己可以回忆的东西

0%

GIF 播放是我司应用市场类应用的一个重要的功能,之前做图片加载框架技术选型时也是以加载 GIF 的性能为基准来进行选择的,GIF 播放功能在手机端比较常见,通常交给支持 GIF 的图片加载框架处理就行,但是对于开发板端而言,这类功能对内存和 CPU 有较大的挑战,稍微不注意就很容易造成 ANR 和应用崩溃。

Read more »

最近一个开药店的朋友找我抱怨,有一个同行最近在搞恶性竞争,同类的商品经常标价比他们家少一分钱,应该是从哪来搞来了他们家在外卖平台上的商品数据,从而准对性的进行调价,于是就找到我,问我有没有办法爬取这家同行的数据,想要做一些应对避免流失很对线上的订单,于是就有了这次尝试。

Read more »

Fresco 其实是我司长期以来默认使用的图片加载框架,这个情况在 4 月份我在做新项目的技术选型的时候被打破了,那时我针对 Glide vs Fresco 的性能做了对比,在加载 GIF 的情况下,Glide + GifDrawable 三方库在内存和 CPU 上要优于 Fresco,所以领导就拍板决定在新版项目里使用 Glide, 但这个情况在后面发生了一些变化。

Read more »

在启动优化方面除了常规的设置主题图片防止出现白屏或黑屏,Application 的 onCreate 方法里精简业务逻辑和三方 SDK 异步或者延迟初始化,精简首屏页面的复杂度等之外,现在有了一个新选择,就是字节出品的BootMultiDex框架。

Read more »

回顾整个职业生涯,上一次对项目进行可独立运行的组件化工程改造还是七年前,当时对项目进行第三次重构,想要引入当时比较火的组件化的配置,受限于参考资料比较少,再加上业务上堆积了其他很多的事情,后面对这块也就放弃了,时间来到现在,新项目要求每个人单独负责自己的功能模块且互不影响,这就很符合组件化的概念,于是决定在这个项目中把组件化重拾起来。

Read more »

最近新加入一个团队,出于部署和安全等多方面的考虑,他们代码管理工具用的是 SVN,然后就有了这篇如何用 SVN 做版本管理、优化开发和测试流程。更多详情可参考

Read more »

受到在做 Android 开发时 MVVM 架构的影响,在开发 Flutter 项目时,在架构实际上我都会有意的向 MVVM 方向上靠。所幸 dart 语言的语法有点像 Java 和 Kotlin 的结合体,所以架构上除了 View 层,其它层都非常的相似。

Read more »

Hive 在我个人项目的使用上出现了问题,目前遇到两种错误:

  • 多次 open 同一Collection下的 Box,除第一个 Box 能正常使用外,其他的 Box 都不可用。
  • 使用BoxCollection来创建多个 Box,当使用Box put 数据时会报数据类型错误,即使我们提供了正确的TypeAdapter

经过一段时间的摸索后终于找到一条能正常使用的方法。

Read more »