注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

环信FAQ

环信FAQ

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Jackson 之 LocalDateTime 序列化与反序列化 Jackson

王二蛋和他的张大花 发表了文章 • 1141 次浏览 • 2021-11-01 10:06 • 来自相关话题

前言 在 Java 8 中对 LocalDateTime、LocalDate 的序列化和反序列化有很多种操作 全局 在 ObjectMapper 对象中配置 JavaTimeModule,此为全局配置。 @Bean public ObjectM... ...查看全部
0
评论

高并发场景下JVM调优实践之路 JVM调优

王二蛋和他的张大花 发表了文章 • 690 次浏览 • 2021-11-01 10:02 • 来自相关话题

一、背景 2021年2月,收到反馈,视频APP某核心接口高峰期响应慢,影响用户体验。 通过监控发现,接口响应慢主要是P99耗时高引起的,怀疑与该服务的GC有关,该服务典型的一个实例GC表现如下图: 可以看出,在观察周期里: 平均每10分钟Young&n... ...查看全部
0
评论

Flutter 图片库高燃新登场 图片库

王二蛋和他的张大花 发表了文章 • 1264 次浏览 • 2021-11-01 10:00 • 来自相关话题

背景 去年,闲鱼图片库在大规模的应用下取得了不错的成绩,但也遇到了一些问题和诉求,需要进一步的演进,以适应更多的业务场景与最新的 flutter 特性。比如,因为完全抛弃了原生的 ImageCache,在与原生图片混用的场景下,会让一些低频的图片反而占用了缓存... ...查看全部
0
评论

@OnLifecycleEnvent 被废弃,替代方案更简单 OnLifecycleEnvent

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

近期 androidx.lifecycle 发布了 2.4.0 版本,此次更新中 @OnLifecycleEvent 注解被废弃,官方建议使用 LifecycleEventObserver 或者 DefaultLifecycleObserver 替代 现... ...查看全部
0
评论

Android Gradle 基础自定义构建 gradle Android

柳天明 发表了文章 • 672 次浏览 • 2021-10-29 11:30 • 来自相关话题

win7 Android Studio 2.1.3基础自定义构建 Basic Build Customization本章目的理解Gradle文件build tasks入门自定义构建理解Gradle文件在Android Studio中新建一个项目后,会自动创建3... ...查看全部
0
评论

Android Handler解读 handler Android

柳天明 发表了文章 • 1036 次浏览 • 2021-10-29 11:29 • 来自相关话题

Handler通常都会面被问到这几个问题1.一个线程有几个Handler?2.一个线程有几个Looper?如何保证?3.Handler内存泄漏原因?4.子线程中可以new Handler吗?5.子线程中维护的Looper,消息队列无消息的时候的处理方案是什么?... ...查看全部
0
评论

Android不使用反射完成LiveDataBus LiveData Android

柳天明 发表了文章 • 1050 次浏览 • 2021-10-29 11:28 • 来自相关话题

LiveDataBus大家都很熟悉了,网上也有很多通过反射实现的LiveDataBus。但是通过反射实现的代码比较混乱,也比较难以理解。这里给出一版通过代码实现的。更加的简洁优雅~首先来看一下LiveData原理一般我们都是这样使用的,创建一个LiveData... ...查看全部
0
评论

Jetpack Compose 自定义 Loading compose jetpack

柳天明 发表了文章 • 1485 次浏览 • 2021-10-29 11:26 • 来自相关话题

自学Jetpack Compose 半月有余了,写了一个Loading加载动效效果图实现思路拆分将正方形均分为4份 确定4个符号的中心点位置BoxWithConstraints(modifier = modifier) {    val ... ...查看全部
0
评论

List常用操作比for循环更优雅的写法 List

王二蛋和他的张大花 发表了文章 • 660 次浏览 • 2021-10-28 13:49 • 来自相关话题

list常用的lamada表达式-单list操作 引言 使用JDK1.8之后,大部分list的操作都可以使用lamada表达式去写,可以让代码更简洁,开发更迅速。以下是我在工作中常用的lamada表达式对list的常用操作,喜欢建议收藏。 以用户表为例,用户实... ...查看全部
0
评论

还在傻乎乎得背MyISAM与InnoDB 的区别?一篇文章让你理解的明明白白 InnoDB MyISAM

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

序言     相信不少的小伙伴在准备面试题的时候,必定会遇到这个面试题,MyISAM与InnoDB 的区别是什么?我们当时可谓是背一次忘一次,以至于很多的同学去找实习工作的时候,经常被这个问题卡脖子,那么今天我就系统的来... ...查看全部
0
评论

android常用命令介绍 命令

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

adb命令 安装apk -f 表示强制安装 adb install -f apk 获取当前顶部activity名称方式 windows: adb shell dumpsys window | findstr mCurrentFocus mac: adb s... ...查看全部
0
评论

Moshi踩坑之HashMap Android Moshi

柳天明 发表了文章 • 954 次浏览 • 2021-10-28 09:55 • 来自相关话题

Moshi 之HashMap就是这个错 moshi让你写自定义Adapter呢,报错摘要:No JsonAdapter for class java.util.HashMap, you should probably use Map ins... ...查看全部
0
评论

Adnroid 卡顿分析与布局优化 Android 性能优化

柳天明 发表了文章 • 679 次浏览 • 2021-10-28 09:51 • 来自相关话题

1 卡顿分析1 SystraceSystrace是Android平台提供的一款工具,用于记录短期内的设备活动,其中汇总了Android内核中的数据,例如CPU调度程序,磁盘活动和应用程序,Systrace主要用来分析绘制性能方面的问题,在发生卡顿时,通过这份报... ...查看全部
0
评论

Android - Binder通信架构 Binder ipc

柳天明 发表了文章 • 797 次浏览 • 2021-10-28 09:50 • 来自相关话题

Java应用层:  对于上层应用通过调用AMP.startService, 完全可以不用关心底层,经过层层调用,最终必然会调用到AMS.startService.Java IPC层:  Binder通信是采用C/S架构,... ...查看全部
0
评论

JetPack Compose 主题配色太少怎么办? 来设计自己的颜色系统吧 compose jetpack

柳天明 发表了文章 • 793 次浏览 • 2021-10-28 09:47 • 来自相关话题

引言JetPack Compose 正式版已经发布好几个月了,在这段时间里,除了业务相关需求之外,我也开始了 Compose 在实际项目中的落地实验,因为一旦要接入当前项目,那么遇到的问题其实远远大于新创建一个项目所需要的问题。本... ...查看全部
0
评论

Moshi踩坑之ArrayList Moshi

王二蛋和他的张大花 发表了文章 • 999 次浏览 • 2021-10-27 13:49 • 来自相关话题

就是这个错 moshi让你写自定义Adapter呢,No JsonAdapter for class java.util.ArrayList, you should probably use List instead of ArrayList (Mo... ...查看全部
0
评论

Android 序列化(Serializable和Parcelable) Parcelable Serializable

王二蛋和他的张大花 发表了文章 • 638 次浏览 • 2021-10-27 13:46 • 来自相关话题

什么是序列化 由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列化。 🔥 为什么序列化 永久的保存对象数据(将对象数据保存在文件当中、或者是磁盘中)。 对象在网络中传递。 对象... ...查看全部
0
评论

看动画学算法之:队列queue queue

王二蛋和他的张大花 发表了文章 • 629 次浏览 • 2021-10-27 13:44 • 来自相关话题

简介 队列Queue是一个非常常见的数据结构,所谓队列就是先进先出的序列结构。 想象一下我们日常的排队买票,只能向队尾插入数据,然后从队头取数据。在大型项目中常用的消息中间件就是一个队列的非常好的实现。 队列的实现 一个队列需要一个enQueue入队列操作和一... ...查看全部
0
评论

来讨论下 Android 面试该问什么? 面试

王二蛋和他的张大花 发表了文章 • 644 次浏览 • 2021-10-27 13:42 • 来自相关话题

经历过一些面试,也面过一些同学。 被面试官问到头皮发麻,也把候选人问得面红耳赤。 曾怨恨问题刁钻刻薄,也曾怀疑提问跑题超纲。 经历过攻守的角色转换后,沉下心,回顾过往,不由得发出感叹。如果要将“面试”作类比的话,我愿意将其比作“相亲”。 之所以这样类比,是因为... ...查看全部
0
评论

动画曲线天天用,你能自己整一个吗?看完这篇你就会了! 动画 Android

柳天明 发表了文章 • 767 次浏览 • 2021-10-26 14:12 • 来自相关话题

前言最近在写动画相关的篇章,经常会用到 Curve 这个动画曲线类,那这个类到底怎么实现的?如果想自己来一个自定义的动画曲线该怎么弄?本篇我们就来一探究竟。Curve 类定义查看源码, Curve 类定义如下:abstr... ...查看全部
0
评论

Android协程(Coroutines)系列-深入理解suspend(挂起函数)关键字 协程 kotlin

柳天明 发表了文章 • 4223 次浏览 • 2021-10-26 13:55 • 来自相关话题

Kotlin 协程把suspend 修饰符引入到了我们 Android 开发者的日常开发中。您是否好奇它的底层工作原理呢?编译器是如何转换我们的代码,使其能够挂起和恢复协程操作的呢?suspend挂起函数,是指把协程代码挂起不继续执行的函数,也叫协程被函数挂起... ...查看全部
0
评论

实现一个 Coroutine 版 DialogFragment DialogFragment Android

柳天明 发表了文章 • 744 次浏览 • 2021-10-26 13:54 • 来自相关话题

Android 对话框有多种实现方法,目前比较推荐的是 DialogFragment,先比较与直接使用 AlertDialog,可以避免屏幕旋转等配置变化造成消失。但是其 API 建立在回调的基础上使用起来并不友好。接入 Coroutine... ...查看全部
0
评论

LeetCode刷题-合并区间 合并区间

王二蛋和他的张大花 发表了文章 • 620 次浏览 • 2021-10-26 12:03 • 来自相关话题

一、题目描述 难度:中等~ 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 示例1: 输入:... ...查看全部
0
评论

使用 Kotlin Flow 优化你的网络请求框架,减少模板代码 flow

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

一、以前封装的遗憾点 主要集中在如下2点上: Loading的处理 多余的LiveData 总而言之,就是需要写很多模板代码。 不必编写模版代码的一个最大好处就是: 写的代码越少,出错的概率越小. 1.1 Loading的处理 对于封装二,虽然... ...查看全部
0
评论

MVVM 进阶版:MVI 架构了解一下~ MVI

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

前言 Android开发发展到今天已经相当成熟了,各种架构大家也都耳熟能详,如MVC,MVP,MVVM等,其中MVVM更是被官方推荐,成为Android开发中的显学。 不过软件开发中没有银弹,MVVM架构也不是尽善尽美的,在使用过程中也会有一些不太方便之处,而... ...查看全部
0
评论

Android IPC 之 Messenger Messenger

王二蛋和他的张大花 发表了文章 • 757 次浏览 • 2021-10-25 14:49 • 来自相关话题

绑定服务(Bound Services)概述 绑定服务是client-server接口中的服务器。它允许组件(例如活动)绑定到服务、发送请求、接收响应和执行进程间通信(IPC)。 绑定服务通常仅在它为另一个应用程序组件提供服务时才存在,并且不会无限期地在后台运... ...查看全部
0
评论

一天高中的女同桌突然问我是不是程序猿 程序猿

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

背景 昨天一个我高中的女同桌突然发微信问我“你是不是程序猿 我有问题求助”, 先是激动后是茫然再是冷静,毕业多年不见联系,突然发个信息求助,感觉大脑有点反应不过来... 再说我一个搞Android的也不咋会python啊(不是说Java不能实现,大家懂的,人... ...查看全部
0
评论

美团面试官问我一个字符的String.length()是多少,我说是1,面试官说你回去好好学一下吧 String

王二蛋和他的张大花 发表了文章 • 801 次浏览 • 2021-10-25 14:46 • 来自相关话题

public class testT { public static void main(String [] args){ String A = "hi你是乔戈里"; System.out.println(A.lengt... ...查看全部
0
评论

领导:谁再用定时任务实现关闭订单,立马滚蛋! 定时任务

王二蛋和他的张大花 发表了文章 • 853 次浏览 • 2021-10-25 14:42 • 来自相关话题

在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢? 一般的做法有如下几种定时任务关闭订单rocketmq延迟... ...查看全部
0
评论

搜索历史记录的实现-Android Android

柳天明 发表了文章 • 875 次浏览 • 2021-10-25 11:41 • 来自相关话题

前言最近一个客户想要实现搜索中搜索历史的功能,其实这个功能听起来很简单,实际上里面有很多逻辑在里面,一开始写的时候脑子蒙蒙的,最后提给客户的时候一堆毛病,这一次来详细梳理一下,也分享一下我的思路主要逻辑搜索后保存当前内容将最新的搜索记录在最前面搜索历史记录可以... ...查看全部
0
评论

动态代理的使用-功能增强 apt Android

柳天明 发表了文章 • 839 次浏览 • 2021-10-25 11:39 • 来自相关话题

背景接手某项目时碰到切换主线程的逻辑, 原项目代码流程如下:xxPresenter 会创建observer直接用于二方库的 SDKService (通常在子线程中回调),记为 innerObserverxxActivit... ...查看全部
0
评论

smali语言之locals和registers的区别 逆向 Android

柳天明 发表了文章 • 851 次浏览 • 2021-10-25 11:37 • 来自相关话题

介绍对于dalviks字节码寄存器都是32位的,它能够表示任何类型,2个寄存器用于表示64位的类型(Long and Double)。作用声明于方法内部(必须).method public getName()V .registers 6 retu... ...查看全部
0
评论

如何优雅的集成Google pay到你的项目中 GooglePlay Android

柳天明 发表了文章 • 1176 次浏览 • 2021-10-22 14:02 • 来自相关话题

官方集成文档 官方集成文档 官方集成文档第一步:javadependencies { def billing_version = "3.0.0" implementation 'com.android.billingcli... ...查看全部
0
评论

android 如何优雅的集成 Razorpay Android Razorpay

柳天明 发表了文章 • 731 次浏览 • 2021-10-22 14:01 • 来自相关话题

请在您的应用build.gradle文件中添加以下依赖项:repositories { mavenCentral() } dependencies { implementation 'com.razorpay:checkout... ...查看全部
0
评论

Android-关于设备唯一ID的奇技淫巧 唯一标识 Android

柳天明 发表了文章 • 1744 次浏览 • 2021-10-22 14:00 • 来自相关话题

前言最近在二开项目国际版客户的功能,我们项目中默认是有一个游客登录的,一般大家都是取Android设备的唯一ID上传服务器,然后服务器给你分配一个用户信息.但是Google在高版本对于设备唯一Id的获取简直限制到了极点.以前我都是直接获取IMEI来作为设备的唯... ...查看全部
0
评论

一条SQL查询语句是如何执行的 sql

柳天明 发表了文章 • 663 次浏览 • 2021-10-22 13:59 • 来自相关话题

背景我们执行一条查询语句时,对客户端是一个很简单的过程,但对服务端(MySQL)内部却涉及到很复杂的组件和逻辑,当出现一些比较复杂的SQL问题时,如果不理解其内部执行的原理,将会很难去定位和解决问题正文先聊聊MySQL的逻辑架构大体来说,MySQL可以分为 S... ...查看全部
0
评论

熬夜再战Android之修炼Kotlin-【findView】篇 findView

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

前提 前面我们学了Kotlin语言,趁热打铁我们试试Kotlin在Android中的应用。 如果是新手,请先学完Android基础。 推荐先看小空之前写的熬夜Android系列,再来尝试。 👉实践过程 😜方式一 使用扩展,如果你第一次创建项目的时候选择的是Ko... ...查看全部
0
评论

翻车了,字节一道 Fragment面试题 fragment

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

一道面试题 前段时间面试,面试官先问了一下fragment的生命周期,我一看这简单呀,直接按照下图回答 面试官点点头,然后问,如果Activity里面有一个fragment,那么启动他们时,他们的生命周期加载顺序是什么? 所以今天,我们好好了解了解这个用得... ...查看全部
0
评论

Android模块化设计之组件开发规范 开发规范

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

最近一直在做基础建设方面的工作,面对这三十多个完全没有规范可言的组件,气的我直接打了一套闪电五连鞭,但打工还得继续,于是想对这些组件建立一套规范,来降低够用、使用、维护以及扯皮成本,本想在网上白嫖一套,可找到的都是一些基础的代码规范,用处不大,于是乎根据自己的... ...查看全部
0
评论

消失性进度条 进度条

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

效果&使用 图例分别为: 修改读条起点为y轴正方向 消失性读条 正常读条 使用: 1 在xml中添加控件 <com.lloydfinch.ProgressTrackBar android:id="@+id/progress_tr... ...查看全部
0
评论

Android学习指南 — Android进阶篇 Android

柳天明 发表了文章 • 871 次浏览 • 2021-10-21 11:41 • 来自相关话题

ARTART 代表 Android Runtime,其处理应用程序执行的方式完全不同于 Dalvik,Dalvik 是依靠一个 Just-In-Time (JIT) 编译器去解释字节码。开发者编译后的应用代码需要通过一个解释器在用户的设备上运行,这一机制并不高... ...查看全部
0
评论

Android自定义控件六边形 自定义View Android

柳天明 发表了文章 • 1032 次浏览 • 2021-10-21 11:39 • 来自相关话题

Android自定义六边形控件一.效果图原文地址: https://blog.csdn.net/oMengHui/article/details/45540645二.核心算法平面内一个坐标点是否在多边形内判断,使用射线法判断。从目标点出发引一条射线,... ...查看全部
0
评论

Kotlin协程的取消和异常传播机制 协程 kotlin

柳天明 发表了文章 • 1166 次浏览 • 2021-10-21 11:37 • 来自相关话题

1.协程核心概念回顾结构化并发(Structured Concurrency)作用域(CoroutineScope /SupervisorScope)作业(Job/SupervisorJob)开启协程(launch/async)2.协程的取消2.1 协程的取消... ...查看全部
0
评论

Java正则表达式语法大全 正则表达式

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

在我们日常开发项目中经常用到正则表达式/比如邮箱/电话手机号/域名/ip等)都会经常用到其实一个字符串就是一个简单的正则表达式,例如 Hello World 正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,... ...查看全部
0
评论

熬夜再战Android之修炼Kotlin-【Get和Set】、【继承】、【抽象类/嵌套类/内部类】篇 kotlin

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

前提 当前环境 2021年10月8日最新下载2020.3.1 Patch 2 版本 👉实践过程 😜Get和Set 其实Kotlin声明实体类之后,里面的变量默认就带有set和get的属性功能了。除非想要特殊业务内容。 比如set需要结合项目进行其他业务处理,g... ...查看全部
0
评论

使用BlackHook(黑钩) 可以Hook一切java或者kotlin方法 Hook

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

前言 之前做内存优化的时候,为了实现对线程的使用监控,借助了一个第三方的hook框架(epic),这个框架可以hook一切java方法,使用也简单,但是最大的问题是它有较严重的兼容性问题,部分机型会出现闪退的现象,这就导致它不能被带到线上使用,只能在线下使用,... ...查看全部
0
评论

扒一扒Android的.9图 .9图 Android

柳天明 发表了文章 • 1327 次浏览 • 2021-10-20 14:42 • 来自相关话题

前言相信大家对.9图都不陌生,我们在开发当中当有控件的背景需要对内容的大小做自适应的时候,可能就需要用到.9图。如下图所示,就是一张.9图。官方是这么定义的:NinePatchDrawable 图形是一种可拉伸的位图,可用作视图的背景。Android... ...查看全部
0
评论

在Android中使用Netty进行通讯,附带服务端代码 IM Netty

柳天明 发表了文章 • 2069 次浏览 • 2021-10-20 14:41 • 来自相关话题

NettyNetty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award... ...查看全部
0
评论

再谈协程之第三者Flow基础档案 协程 kotlin

柳天明 发表了文章 • 708 次浏览 • 2021-10-20 14:32 • 来自相关话题

该来的还是来了,LiveData提供了响应式编程的基础,搭建了一套数据观察者的使用框架,但是,它相当于RxJava这类的异步框架来说,有点略显单薄了,这也是经常被人诟病的问题,因此,Flow这个小三就顺应而生了。Flow作为一套异步数据流框架,几乎可以约等于R... ...查看全部
0
评论

Hilt 扩展 | MAD Skills 依赖注入 hilt Android

柳天明 发表了文章 • 724 次浏览 • 2021-10-20 14:29 • 来自相关话题

案例: WorkManager 扩展Hilt 扩展是一个生成代码的库,常通过注解处理器实现。生成的代码作为构成 Hilt 依赖项注入关系图的模块或入口点。Jetpack 中 WorkManager 的集成库就是一个扩展的例子。WorkManager ... ...查看全部