注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

环信FAQ

环信FAQ

集成常见问题及答案
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有
0
评论

MVP 架构最终审判 —— MVP 解决了哪些痛点,又引入了哪些坑?(二) MVP

王二蛋和他的张大花 发表了文章 • 419 次浏览 • 2022-10-09 10:57 • 来自相关话题

复杂度Android 架构演进系列是围绕着复杂度向前推进的。软件的首要技术使命是“管理复杂度” —— 《代码大全》因为低复杂度才能降低理解成本和沟通难度,提升应对变更的灵活性,减少重复劳动,最终提高代码质量。架构的目的在于“将复杂度分层”复杂度为什么要被分层?... ...查看全部
0
评论

MVP 架构最终审判 —— MVP 解决了哪些痛点,又引入了哪些坑?(一) MVP

王二蛋和他的张大花 发表了文章 • 463 次浏览 • 2022-10-09 10:53 • 来自相关话题

复杂度 Android 架构演进系列是围绕着复杂度向前推进的。 软件的首要技术使命是“管理复杂度” —— 《代码大全》 因为低复杂度才能降低理解成本和沟通难度,提升应对变更的灵活性,减少重复劳动,最终提高代码质量。 架构的目的在于“将复杂度分层” 复杂... ...查看全部
0
评论

用 Jetpack Compose 写一个 BottomSheetDialog BottomSheetDialog compose jetpack

王二蛋和他的张大花 发表了文章 • 1827 次浏览 • 2022-10-09 10:48 • 来自相关话题

BottomSheetDialog 是 Android Material 库中提供的一个弹窗类,其特点就是会从屏幕底部弹出,支持拖拽回弹效果,以及拖拽关闭弹窗,在 Android 应用开发中广泛应用 Jetpack Compose 也提供了一个同样的弹窗效果,... ...查看全部
0
评论

Gradle 缓存那些事儿~ gradle

王二蛋和他的张大花 发表了文章 • 2116 次浏览 • 2022-10-08 10:55 • 来自相关话题

前言 Gradle是Android的构建工具,它的主要目标就是实现快速的编译构建,而这主要就是通过缓存实现的。本文主要介绍Gradle的缓存机制,具体包括以下内容 Gradle缓存机制 Gradle内存缓存 Gradle项目缓存 Gradle本机缓存 Gra... ...查看全部
0
评论

新来个技术总监,把限流实现的那叫一个优雅,佩服! 限流

王二蛋和他的张大花 发表了文章 • 426 次浏览 • 2022-10-08 10:51 • 来自相关话题

大家好,我是楼仔! 在电商高并发场景下,我们经常会使用一些常用方法,去应对流量高峰,比如限流、熔断、降级,今天我们聊聊限流。 什么是限流呢?限流是限制到达系统的并发请求数量,保证系统能够正常响应部分用户请求,而对于超过限制的流量,则通过拒绝服务的方式保证整体系... ...查看全部
0
评论

动态规划之打家劫舍二 动态规划

王二蛋和他的张大花 发表了文章 • 383 次浏览 • 2022-10-08 10:48 • 来自相关话题

动态规划(Dynamic Programming)是一种分阶段求解决策问题的数学思想,它通过把原问题分解为简单的子问题来解决复杂问题。 打家劫舍 II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着... ...查看全部
0
评论

动态规划之打家劫舍 动态规划

王二蛋和他的张大花 发表了文章 • 372 次浏览 • 2022-10-08 10:47 • 来自相关话题

动态规划(Dynamic Programming)是一种分阶段求解决策问题的数学思想,它通过把原问题分解为简单的子问题来解决复杂问题。 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连... ...查看全部
0
评论

什么时候要用到本地缓存,比Redis还要快?怎么用? 本地缓存

王二蛋和他的张大花 发表了文章 • 505 次浏览 • 2022-09-28 11:08 • 来自相关话题

导言试想一下这么一个场景,一用户想要把他看了好长时间的极速版视频积攒的余额提现,于是他点击了提现按钮,哗啦声一响,他的钱就到银行卡了。这样一个对于用户很简单的动作但是对于后台往往牵扯到十几个服务(公司规模越大、规范性要求越高,整个调用链路的服务就越多),而你负... ...查看全部
0
评论

Android实现定时任务的几种方案汇总 定时任务

王二蛋和他的张大花 发表了文章 • 695 次浏览 • 2022-09-28 10:55 • 来自相关话题

前言 相比Android倒计时的常用场景,定时任务相对来说使用的场景相对没那么多,除非一些特殊的设备或者一些特殊的场景我们会用到。 关于定时任务其实是分为2中作用范围,App内部范围和App外部范围,也就是说你是否需要App杀死了还能执行定时任务,需求不同实现... ...查看全部
0
评论

给你的 Android App 添加自定义表情 自定义表情 Android

王二蛋和他的张大花 发表了文章 • 645 次浏览 • 2022-09-28 10:53 • 来自相关话题

原理 添加自定义表情的原理其实很简单,就是使用 ImageSpan 对文字进行替换。代码如下: ImageSpan imageSpan = new ImageSpan(this, R.drawable.emoji_kelian); SpannableStrin... ...查看全部
0
评论

如何解决Flutter在Android的适配错乱问题 适配 Flutter

王二蛋和他的张大花 发表了文章 • 452 次浏览 • 2022-09-28 10:50 • 来自相关话题

前言大家好,我是未央歌,一个默默无闻的移动开发搬砖者~先给大家说说项目背景,项目原为 Android 原生开发,所用语言为 Java/Kotlin ;后面引入了 Flutter 混编,如果大家有兴趣,评论区留言,后面再单独开一篇文章为大家讲解一下如何实现 An... ...查看全部
0
评论

“雪糕刺客”你听说过,Bitmap这个“内存刺客”你也要小心(上)~ bitmap

王二蛋和他的张大花 发表了文章 • 464 次浏览 • 2022-09-28 10:47 • 来自相关话题

写在前面 雪糕刺客是最近被网友们玩坏了的梗,指的是那些以平平无奇的外表混迹于众多平价雪糕之中的贵价雪糕。由于没有明确标明价格,通常要等到结账的时候才会发现,犹如一个潜藏于普通人群中的刺客般,伺机对那些大意的顾客们的钱包刺上一剑,因此得名。 而在Android中... ...查看全部
0
评论

带着需求看源码《如何判断 Activity 上是否有弹窗》 Activity

王二蛋和他的张大花 发表了文章 • 732 次浏览 • 2022-09-28 10:46 • 来自相关话题

今天来看个需求,如何判断 Activity 上面是否有弹窗,当然,简单的方式肯定有,例如在 Dialog show 的时候记录一下,但这种方式不够优雅,我们需要一款更通用的判断方式。 Android 目前的弹窗有如下几种: 普通的应用窗口,如 Dialog... ...查看全部
0
评论

Android壁纸还是B站玩得花 Android壁纸

王二蛋和他的张大花 发表了文章 • 450 次浏览 • 2022-09-27 11:09 • 来自相关话题

设置系统壁纸这个功能,对于应用层App来说,场景其实并不多,但在一些场景的周边活动中,确也是一种提升品牌粘性的方式,就好比某个活动中创建的角色的壁纸美图,这些就可以新增一个设置壁纸的功能。 从原始的Android开始,系统就支持设置两种方式的壁纸,一种是静态壁... ...查看全部
0
评论

Flutter性能优化实践 性能优化 Flutter

王二蛋和他的张大花 发表了文章 • 457 次浏览 • 2022-09-27 11:06 • 来自相关话题

前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的,可以用一套代码同时构... ...查看全部
0
评论

关于 MVI,我想聊的更明白些 MVI

王二蛋和他的张大花 发表了文章 • 480 次浏览 • 2022-09-27 10:58 • 来自相关话题

前言 谈到 MVI,相信大家略有耳闻,由于该架构有一定门槛,导致开发者要么完全理解,要么完全不理解。 且由于存在门槛,理解的开发者往往受 “知识的诅咒”,很难体会不理解的人困惑之所在,也即容易在分享时遗漏关键点,这也使得该技术点的普及和传播更加困难。 故这期专... ...查看全部
0
评论

Android 十六进制状态管理实战 状态管理

王二蛋和他的张大花 发表了文章 • 428 次浏览 • 2022-09-27 10:53 • 来自相关话题

背景最近需要实现一个状态管理类:在多种场景下,控制一系列的按钮是否可操作。不同场景下,在按钮不可操作的时候,点击弹出对应的Toast。随着场景数量的增加,这个管理类的实现,就可能会越来越复杂。刚好看到大佬的文章,顺便学习和实践一下。参考学习:就算不去火星种土豆... ...查看全部
0
评论

乱打日志的男孩运气怎么样我不知道,加班肯定很多! 日志

王二蛋和他的张大花 发表了文章 • 391 次浏览 • 2022-09-27 10:48 • 来自相关话题

前言 线上出现问题,你的第一反应是什么? 如果是我的话,第一时间想的应该是查日志: if…else 到底进入了哪个分支? 关键参数是不是有缺失? 入参是不是有问题,没做好校验放进去了? 良好的日志能帮我们快速定位到问题所在,坑你的东西往往最为无形,良好的日... ...查看全部
0
评论

Android性能优化 - 包体积杀手之R文件内联原理与实现 性能优化 Android

王二蛋和他的张大花 发表了文章 • 1356 次浏览 • 2022-09-26 11:06 • 来自相关话题

前言&背景 包体积也是性能优化的常客之一了,在包体积简化的历史潮流中,已经涌现了很多包体积杀手级别方案,比如动态so方案,R文件内联等等,由于笔者已经在之前的文章中介绍过动态so方案,那么本次专栏就不重复,于是就介绍另一个包体积杀手方案,从R文件内联的... ...查看全部
0
评论

依赖反转原则到底反转了什么 依赖反转

王二蛋和他的张大花 发表了文章 • 430 次浏览 • 2022-09-26 10:57 • 来自相关话题

问题SOLID是常用的用来设计类以及类和类之间关系的设计原则,它的主要作用就是告诉我们如何将数据和函数组织为类,以及如何将这些类链接为程序,从而使得软件容易扩展、容易理解以及容易复用。其中D代表的就是依赖反转原则(Dependence Inversion Pr... ...查看全部
0
评论

Kotlin协程:MutableStateFlow的实现原理 kotlin MutableStateFlow

王二蛋和他的张大花 发表了文章 • 740 次浏览 • 2022-09-26 10:55 • 来自相关话题

一.MutableStateFlow接口的实现 1.MutableStateFlow方法     在Kotlin协程:StateFlow的设计与使用中,讲到可以通过MutableSharedFlow方法创建一个Mutab... ...查看全部
0
评论

Kotlin协程:StateFlow的设计与使用 kotlin StateFlow

王二蛋和他的张大花 发表了文章 • 643 次浏览 • 2022-09-26 10:54 • 来自相关话题

一.StateFlow的设计     StateFlow是一种单数据更新的热流,通过emit方法更新StateFlow的数据,通过value属性可以获取当前的数据。在StateFlow中,核心接口的继承关系如下图所示: ... ...查看全部
0
评论

Flutter 工程化框架选择 — 搞定 UI 生产力 Flutter

王二蛋和他的张大花 发表了文章 • 718 次浏览 • 2022-09-26 10:46 • 来自相关话题

这是 《Flutter 工程化框架选择》 系列的第二篇 ,就像之前说的,这个系列只是单纯告诉你,创建一个 Flutter 工程,或者说搭建一个 Flutter 工程脚手架,应该如何快速选择适合自己的功能模块,或者说这是一个指引系列,所以比较适合新手同学。 本篇... ...查看全部
0
评论

图解常见排序算法 排序算法

王二蛋和他的张大花 发表了文章 • 454 次浏览 • 2022-09-23 11:17 • 来自相关话题

1. 冒泡排序 冒泡排序属于交换排序的一种,从数组的第一个角标开始逐个与后面的元素进行比较,如果小于就将其置换 首先取出第一个元素,与后面的元素挨个比较,如果大于后面的某个元素就将两个元素位置互换,然后继续比较直到最后一个。第二轮从第二个元素开始比较、第三轮... ...查看全部
0
评论

Java 泛型知多少 泛型

王二蛋和他的张大花 发表了文章 • 479 次浏览 • 2022-09-23 11:15 • 来自相关话题

你可能遇到过以下困惑,为什么在 java 中我们不能 new 一个泛型,而 C++ 却可以,如下这样 此种方法在 java 中直接通不过编译,而如果我们要实现同样的功能,只能通过显示的传入 class,然后通过 RTTI 方式来在运行时动态创建 public... ...查看全部
0
评论

为什么你学不会递归?谈谈我的经验 递归

王二蛋和他的张大花 发表了文章 • 521 次浏览 • 2022-09-23 11:13 • 来自相关话题

前言 大家好,我是小彭。 今天分享到计算机科学中一个基础又非常重要的概念 —— 递归。递归是计算机中特有的概念,你很难在现实世界中找到一个恰当的例子与之关联起来。因此,对于很多初学编程的人,一开始会很难理解。 那么,究竟什么是递归,我们为什么要使用递归?我们今... ...查看全部
0
评论

拒绝手动Notifydatasetchanged(),使用ListAdapter高效完成RecyclerView刷新 RecyclerView

王二蛋和他的张大花 发表了文章 • 638 次浏览 • 2022-09-23 11:11 • 来自相关话题

关于RecyclerView的更新  RecyclerView在显示静态的列表的数据的时候,我们用普通的Adapter,然后添加列表,调用notifyDataSetChanged()即可展示列表,但是对于动态变化的列表来说,全靠notifyDataSetCha... ...查看全部
0
评论

【Android爬坑日记四】组合替代继承,减少Base类滥用 设计模式

王二蛋和他的张大花 发表了文章 • 478 次浏览 • 2022-09-23 11:04 • 来自相关话题

背景 先说一下背景,当接触了比较多的项目之后,其实会发现每一个项目都会封装BaseActivity、BaseFragment等等。其实初衷其实是好的。每一个Activity和Fragment都是很多模板代码的,为了减少模板代码,封装进Base类其实是一种比较方... ...查看全部
0
评论

Compose挑灯夜看 - 照亮手机屏幕里面的书本内容 挑灯夜看 compose

王二蛋和他的张大花 发表了文章 • 471 次浏览 • 2022-09-21 14:51 • 来自相关话题

一、前言上一篇文章 Compose回忆童年 - 手拉灯绳-开灯/关灯里面82年钨丝灯,让我又有了新的想法,我们怎么照亮手机里面的文本内容呢?我们会在上一篇文章的基础上来实现“挑灯夜看”的功能,怎么下手呢?往下看👇二、文本着色器我们想要实现照亮功能,那... ...查看全部
0
评论

把数据库里的未付款订单改成已付款,会发生什么 数据库

王二蛋和他的张大花 发表了文章 • 409 次浏览 • 2022-09-21 14:45 • 来自相关话题

导言 不知道大家在网上购物的时候,有没有这样的念头,如果能把未付款的订单偷偷用一条SQL改成已付款,该多么美好啊。那么在实际开发过程中,我们应当如何保证数据库里的数据在保存后不会被偷偷更改? 大家好我是日暮与星辰之间,创作不易,如果觉得有用,求点赞,求收藏,... ...查看全部
0
评论

超好用的官方core-ktx库,了解一下~ ktx

王二蛋和他的张大花 发表了文章 • 981 次浏览 • 2022-09-21 11:11 • 来自相关话题

本篇文章主要是研究core-ktx库中graphics包下提供的关于View绘制、Bitmap、Rect、Color等操作的一系列扩展API,看看能为我们开发带来哪些便利。 Drawable与Bitmap相互间转换 Bitmap.toDrawable(Res... ...查看全部
0
评论

Android 官方模块化方案解读 模块化

王二蛋和他的张大花 发表了文章 • 632 次浏览 • 2022-09-21 11:05 • 来自相关话题

前言 前不久整理下 Now In Android 项目是如何做模块化的(Android 官方项目是怎么做模块化的?快来学习下),没想到官方不久前也在官方文档中更新了模块化相关的章节,下面就一起看一下官方文档中是如何描述 Android App 模块化的。 概述... ...查看全部
0
评论

Android 三行代码实现高斯模糊 高斯模糊

王二蛋和他的张大花 发表了文章 • 510 次浏览 • 2022-09-21 11:04 • 来自相关话题

设计:有了毛玻璃效果,产品的逼格直接拉满了呀我:啊,对对对。我去 GayHub 上找找有没有好的解决方案吧设计:GayHub ???寻找可行的方案要实现高斯模糊的方式有很多,StackBlur、RenderScript、Glide 等等都是不错的方式,但最简单... ...查看全部
0
评论

开发这么久,gradle 和 gradlew 啥区别、怎么选? gradlew gradle

王二蛋和他的张大花 发表了文章 • 722 次浏览 • 2022-09-20 11:08 • 来自相关话题

使用 Gradle 的开发者最常问的问题之一便是: gradle 和 gradlew 的区别? 。 这两个都是应用在特定场景的 Gradle 命令。通过本篇文章你将了解到每个命令干了什么,以及如何在两个命令中做选择。 快速摘要 如果你正在开发的项目当中已经包... ...查看全部
0
评论

Android性能优化 - 捕获java crash的那些事 CRASH

王二蛋和他的张大花 发表了文章 • 555 次浏览 • 2022-09-20 11:06 • 来自相关话题

背景 crash一直是影响app稳定性的大头,同时在随着项目逐渐迭代,复杂性越来越提高的同时,由于主观或者客观的的原因,都会造成意想不到的crash出现。同样的,在android的历史化过程中,就算是android系统本身,在迭代中也会存在着隐含的crash。... ...查看全部
0
评论

从《羊了个羊》看随机数的生成原理 羊了个羊

王二蛋和他的张大花 发表了文章 • 1093 次浏览 • 2022-09-20 11:04 • 来自相关话题

你的《羊了个羊》第二关通关了吗? 作为一款三消类的休闲小游戏,《羊了个羊》虽然在玩法上并没有多大创新,但却以其相邻关卡间巨大的游戏难度落差成功出圈。讨论度提高的同时,也招致了一些批评的声音,主要是指责《羊了个羊》毫无游戏性可言,罪状无一例外都提到同一个词——随... ...查看全部
0
评论

Android常用多线程解析(一)线程的使用 多线程

王二蛋和他的张大花 发表了文章 • 505 次浏览 • 2022-09-20 11:02 • 来自相关话题

 上图是Android中多线程实现的主要方式,和线程的控制流程。1.最基础的方式就是在需要的时候new一个Thread,但是这种方式不利于线程的管理,容易引起内存泄漏。 试想一下,你在Activity中new一个Thread去处理耗时任务,并且在任务... ...查看全部
0
评论

Twitter 上有趣的代码 kotlin

王二蛋和他的张大花 发表了文章 • 424 次浏览 • 2022-09-20 10:58 • 来自相关话题

全文分为 视频版 和 文字版, 文字版: 文字侧重细节和深度,有些知识点,视频不好表达,文字描述的更加准确 视频版: 视频以动画的形式会更加的直观,看完文字版,在看视频,知识点会更加清楚,Twitter 上有趣的代码_哔哩哔哩_bilibili 这是海外一... ...查看全部
0
评论

Android登录拦截的场景-面向切面基于AOP实现 AOP

王二蛋和他的张大花 发表了文章 • 413 次浏览 • 2022-09-19 11:03 • 来自相关话题

前言 场景如下:用户第一次下载App,点击进入首页列表,点击个人页面,需要校验登录,然后跳转到登录页面,注册/登录完成跳转到个人页面。 非常常见的场景,正常我们开发就只能判断是否已经登录,如果未登录就跳转到登录,然后登录完成之后怎么继续执行?如何封装?有哪些方... ...查看全部
0
评论

定位都得集成第三方?Android原生定位服务LocationManager不行吗? LocationManager

王二蛋和他的张大花 发表了文章 • 738 次浏览 • 2022-09-19 11:01 • 来自相关话题

前言 现在的应用,几乎每一个 App 都存在定位的逻辑,方便更好的推荐产品或服务,获取当前设备的经纬度是必备的功能了。有些 App 还是以LBS(基于位置服务)为基础来实现的,比如美团,饿了吗,不获取到位置都无法使用的。 有些同学觉得不就是获取到经纬度么,An... ...查看全部
0
评论

【Flutter 异步编程 - 壹】 | 单线程下的异步模型 Flutter

王二蛋和他的张大花 发表了文章 • 376 次浏览 • 2022-09-19 10:55 • 来自相关话题

本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 一、 本专栏图示概念规范 本专栏是对 异步编程 的系统探索,会通过各个方面去认知、思考 异步编程 的概念。期间会用到一些图片进行表达与示意,在一开始先对图中的元素和 ... ...查看全部
0
评论

栈都知道,单调栈有了解吗? 单调栈

王二蛋和他的张大花 发表了文章 • 400 次浏览 • 2022-09-19 10:53 • 来自相关话题

前言 大家好,我是小彭。 今天分享到一种栈的衍生数据结构 —— 单调栈(Monotonic Stack)。栈(Stack)是一种满足后进先出(LIFO)逻辑的数据结构,而单调栈实际上就是在栈的基础上增加单调的性质(单调递增或单调递减)。那么,单调栈是用来解决什... ...查看全部
0
评论

不用架构会怎么样?—— 在项目实战中探索架构演进(一) 架构

王二蛋和他的张大花 发表了文章 • 498 次浏览 • 2022-09-19 10:48 • 来自相关话题

复杂度 软件的首要技术使命是“管理复杂度” —— 《代码大全》 因为低复杂度才能降低理解成本和沟通难度,提升应对变更的灵活性,减少重复劳动,最终提高代码质量。 架构的目的在于“将复杂度分层” 复杂度为什么要被分层? 若不分层,复杂度会在同一层次展开,这... ...查看全部
0
评论

五子棋AI进阶:极大极小值搜索 AI

王二蛋和他的张大花 发表了文章 • 489 次浏览 • 2022-09-16 13:59 • 来自相关话题

前言 上篇文章,介绍了一下五子棋 AI 的入门实现,学完之后能用,就是 AI 还太年轻,只能思考一步棋。 本文将介绍一种提高 AI 思考能力的算法:极大极小值算法。 Minimax算法 又名极小化极大算法,是一种找出失败的最大可能性中的最小值的算法(即最小... ...查看全部
0
评论

教你写一个入门级别的五子棋AI AI

王二蛋和他的张大花 发表了文章 • 448 次浏览 • 2022-09-16 13:56 • 来自相关话题

前言 本文只是介绍五子棋AI的实现,最终的成品只是一个 AI 接口,并不包括 GUI,且不依赖 GUI。 五子棋 AI 的实现并不难,只需要解决一个问题就行: 怎么确定AI的最佳落子位置? 一般情况下,五子棋棋盘是由15条横线和15条纵线组合而成的,15... ...查看全部
0
评论

灯泡开关 Ⅱ : 分情况讨论 LeetCode 算法

王二蛋和他的张大花 发表了文章 • 426 次浏览 • 2022-09-16 13:55 • 来自相关话题

题目描述 这是 LeetCode 上的 672. 灯泡开关 Ⅱ ,难度为 中等。 Tag : 「脑筋急转弯」、「找规律」 房间中有 n 只已经打开的灯泡,编号从 1 到 n 。墙上挂着 4 个开关 。 这 4 个开关各自都具有不同的功能,其中: 开... ...查看全部
0
评论

Android 闪屏页适配 闪屏页

王二蛋和他的张大花 发表了文章 • 649 次浏览 • 2022-09-16 13:50 • 来自相关话题

遇到的坑 按官方文档设置完之后,debug运行,或者直接点击Run运行,闪屏页的logo不显示,清掉后台,从桌面点击启动logo才显示,不过设置的windowBackgroud 都是显示正常的,这个问题我调了一天,,,AndroidStudio版本4.2.2... ...查看全部
0
评论

Android将倒计时做到极致 倒计时

王二蛋和他的张大花 发表了文章 • 467 次浏览 • 2022-09-16 13:48 • 来自相关话题

前言 倒计时的实现有很多方式,我觉得分享这个技术的关键在于有些官方的,甚至第三方的,也许能帮我实现99%的效果,但是当你从99%优化到100%,哪怕这1%微不足道,但你能从这个过程中得到的东西远远比你想象中的要多。 已有倒计时方案存在的问题 在开发倒计时功能时... ...查看全部
0
评论

白话ThreadLocal原理 ThreadLocal

王二蛋和他的张大花 发表了文章 • 416 次浏览 • 2022-09-15 16:14 • 来自相关话题

ThreadLocal作用 对于Android程序员来说,很多人都是在学习消息机制时候了解到ThreadLocal这个东西的。那它有什么作用呢?官方文档大致是这么描述的: ThreadLocal提供了线程局部变量 每个线程都拥有自己的变量副本,可以通过Thr... ...查看全部
0
评论

一类有趣的无限缓存OOM现象 OOM

王二蛋和他的张大花 发表了文章 • 466 次浏览 • 2022-09-15 14:59 • 来自相关话题

首先想必大家都知道OOM是啥吧,我就不扯花里胡哨的了,直接进入正题。先说一个背景故事,我司app扫码框架用的zxing,在很长一段时间以前,做过一系列的扫码优化,稍微列一下跟今天主题相关的改动:串行处理改成并发处理,zxing的原生处理流程是通过CameraM... ...查看全部