Blankj's Blog

select * from utils


  • 首页

  • 关于

  • 分类

  • 标签

  • 归档

  • 我的星球

  • 面经

  • 我的开源库

  • Go 速查

  • GitBook

  • 小伙伴们

  • 内推

  • 搜索

一学就会的模块间通讯(ApiUtils)

发表于 2019-07-22 | 分类于 Android , AucFrame , 工具类 | 阅读次数:

logo

背景

随着项目业务越来越多,开发出一套好的组件化方案势在必行,如果还在探寻一套好的组件化架构,那么 AucFrame 想必会是你的菜。

组件化方案中各业务是相互隔离的,所以两个业务模块要通信的话,就需要通过路由或者接口下沉来完成,业界的方案都无法与 AucFrame 完美融合,所以我就只好自己动手来完成一个更方便、精简、完美的 ApiUtils,它功能类似 SPI,但比 SPI 更适合于 Android,而且功能更强大。

在 AucFrame 架构中,我们可以通过 ApiUtils 来自由调用各模块的 apis,各业务通过对外提供的 export 模块来供其他业务方使用,自身只需要实现自身的 export 中的 apis 即可。其 AucFrame 的架构图如下所示:

阅读全文 »

几需一行代码完成多语言切换

发表于 2019-06-29 | 分类于 Android , 工具类 | 阅读次数:

logo

背景

之前总是有开发者反馈我应用切换了语言,可是工具类获取的 string 却没有发生改变。其实这个问题很简单,你切换语言的 Context 只作用在了你的 Activity 上,并没有对你的 Application 做同样的操作,知道了这点,那么解决问题就很简单了,为了省事,我给大家封装了 LanguageUtils,直接一行代码便可完成多语言的切换,类似微信的语言切换分分钟便可完成。

阅读全文 »

Android 侧划,如斯优雅

发表于 2019-04-24 | 分类于 Android , 自定义View | 阅读次数:

Background

对市面上实现的侧划返回不是很满意(仿微信,QQ 通过修改窗口透明坑太多),最终决定还是亲手写一个高实用性的吧,效果如下所示,换个图标,更多划动功能可以由你自己解锁,总共一个 600 多行代码的类,推荐通过阅读源码,你肯定会收获很多哈。

阅读全文 »

Android 屏幕适配终结者

发表于 2018-12-18 | 分类于 Android , 工具类 | 阅读次数:

logo

背景

之前基于头条的适配方案写了篇文章 Android 屏幕适配从未如斯简单,但后续发现还是有挺多坑的,这些坑都记录在了 GitHub 屏幕适配问题汇总及解决,基于这么多坑,最终我发现了一种更完美的适配方案,本打算一个多月前就写这篇文章的,但由于公司事务繁忙一直抽不出空来,拖更到现在才发布,下面就让我来分享下此法,先来吹下优点吧。

阅读全文 »

App 启动过程(含 Activity 启动过程) | 安卓 offer 收割基

发表于 2018-09-29 | 分类于 安卓 offer 收割基 , Android | 阅读次数:

这道题在曾经面试「菜鸟网络」中遇到过,不过当时只问了「Activity 启动过程」,这里对整个「App 启动过程」进行完整的源码分析,希望可以帮助到大家。

阅读全文 »

RecyclerView 性能优化 | 安卓 offer 收割基

发表于 2018-09-29 | 分类于 安卓 offer 收割基 , Android | 阅读次数:

阿里四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。

阅读全文 »

阿里巴巴面经记

发表于 2018-09-26 | 分类于 Android , 面试 | 阅读次数:

背景

今年三月份入职了「51信用卡」,公司的福利待遇在杭州也算得上是翘楚,但好景不长,没能挨过 6 个月的试用期,倒在了七月末的一波 CY,不过公司对试用期员工也有稍许补偿,对此很是感恩,同时还要感谢共事的小伙伴们给了我成长和发展的空间,和他们匆匆告别后便回家修养生息,准备我的求职之路。

阅读全文 »

Android 屏幕适配从未如斯简单(8月10日最终更新版)

发表于 2018-07-30 | 分类于 Android , 工具类 | 阅读次数:

logo

前言

由于之前发的适配文章关注的人比较多,而之前的方案存在较多坑,但这已经被我这一周来仔细琢磨找到了最优的解决方案,担心大家还停留在之前的适配方式,所以在掘金只能靠分享链接来提醒你们查看最新更新版本,为之前还未成熟的适配深表歉意,烦请大家一起再次阅览一遍下文吧。

一个月前看了今日头条新的屏幕适配方案,这是传送门,对此不禁拍案叫绝,为此我想把这种方案融入到我工具类中直接一行代码即可适配,如今最新 1.19.0 版 AndroidUtilCode 已有其最新的适配方案,其相关函数在 ScreenUtils 中,相关 API 如下所示:

1
2
3
4
adaptScreen4VerticalSlide  : 适配垂直滑动的屏幕
adaptScreen4HorizontalSlide: 适配水平滑动的屏幕
cancelAdaptScreen : 取消适配屏幕
isAdaptScreen : 是否适配屏幕
阅读全文 »

Android 的二级缓存如斯简单

发表于 2018-07-05 | 分类于 Android , 工具类 | 阅读次数:

logo

CacheDiskUtils

之前写过一篇 你想要的 CacheUtils,简单介绍了下其可以完美替代 ASimpleCache,而且修复了其中少许 BUG 并做了相应优化,相关 API 如下所示:

阅读全文 »

妈妈再也不用担心你不会使用线程池了(ThreadUtils)

发表于 2018-05-23 | 分类于 Android , 工具类 | 阅读次数:

logo

为什么要用线程池

使用线程池管理线程有如下优点:

  1. 降低资源消耗:通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
  2. 提高响应速度:当任务到达时,任务可以不需要等到线程创建就能立即执行。
  3. 提高线程的可管理性:线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
    阅读全文 »
123…17
布兰柯基

布兰柯基

161 日志
38 分类
85 标签
GitHub 简书 掘金 CSDN 微博
0%
© 2021 布兰柯基