注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

环信FAQ

环信FAQ

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

关于Android架构,你是否还在生搬硬套? 架构

王二蛋和他的张大花 发表了文章 • 652 次浏览 • 2021-11-15 14:18 • 来自相关话题

前言 关于Android架构,可能在很多人心里一直都是虚无缥缈的存在,似懂非懂、为了用而用、处处生搬硬套,这种情况使用的意义真的很有限。本人有多个项目重构的经验,恰好对设计领域较为感兴趣,今天我将毫无保留的将自己对架构、设计的理解分享给大家。 本文不会具体去讲... ...查看全部
0
评论

Dart中async和async*有什么区别? Dart async

王二蛋和他的张大花 发表了文章 • 731 次浏览 • 2021-11-12 14:39 • 来自相关话题

水文我在行 在Dart中两个关键字,长得很像async和async*,可能还有的朋友还不知道他们两个有什么区别。现在简单介绍一下。 简单答案 简单回答这个问题就是: async返回Future. async*返回Stream. async async不必多... ...查看全部
0
评论

Flutter + Rust 高性能的跨端尝试 Flutter Rust

王二蛋和他的张大花 发表了文章 • 2057 次浏览 • 2021-11-12 14:37 • 来自相关话题

稍作配置,同一份代码横跨 Android & IOS,相比于 React Native 方案更加高性能。除此之外,得益于 Rust 跨平台加持,Rust 部分的代码可在种种场合复用。 这篇文章旨在记录作者尝试结合 Rust 和 Flutter 的过程,... ...查看全部
0
评论

起初Jetpack Navigation把我逼疯了,可是后来真香 jetpack Navigation

王二蛋和他的张大花 发表了文章 • 1432 次浏览 • 2021-11-12 14:33 • 来自相关话题

1. Navigation到底该如何正确的使用 相信大家对 Navigation都有所耳闻,我不细说怎么用了,官方的讲解也很详细。我是想说一下到底该如何更好的使用这个组件。 这个组件其实是需要配合官方的MVVM架构使用的,ViewModel+LiveData结... ...查看全部
0
评论

(转载)5G、元宇宙和被重新定义的社交出海 元宇宙

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

【融云全球互联网通信云】[疫情突发,人们的社交生活被重新定义。熬过“孤独”的后疫情时代,海外市场线上社交需求不断增长,社交玩法与场景也逐渐多元。](WICC 2021 全球互联网通信云大会-广州站 预约报名-融云活动-活动行 (huodongxing.com)... ...查看全部
0
评论

Flutter 基础 | Dart 语法 Dart

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

该系列记录了从零开始学习 Flutter 的学习路径,第一站就是 Dart 语法。本文可以扫除看 Flutter 教程,写 Flutter 代码中和语言有关的绝大部分障碍。值得收藏~声明并初始化变量int i = 1; // 非空类型必须被初始化 int? k... ...查看全部
0
评论

原来我一直在错误的使用 setState()? setState

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

导语 任何前端系统与用户关系最密切的部分就是UI。一个按钮,一个标签,都是通过对应的UI元素展示与交互。初学时,我们往往只关注如何使用。但如果只知道如何使用,遇到问题我们很难找到解决的办法和思路,也无法针对一些特定场景进行优化。本期针对Flutter的UI系统... ...查看全部
0
评论

Flutter 毁了客户端和 Web 开发! Flutter

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

Google 重磅发布了专为 Web、移动和桌面而构建的 Flutter 2.0!将 Flutter 从移动开发框架扩展成可移植框架,因而开发者无需重写代码即可将应用扩展至桌面或网页。看似为了帮助Web和移动开发者,实际上不然,而本文作者认为,现在不应该再去想... ...查看全部
0
评论

n皇后问题 算法

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

在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 典型的回溯法问题 思路: 尝试性的放置 ,从第一行开始,接着在下一行放置,(这里的好处就是不需要考虑行了,只需要考虑列和对角线) 一直纠... ...查看全部
0
评论

还在用Swagger?试试这款零注解侵入的API文档生成工具,跟Postman绝配! postman

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

前后端接口联调需要API文档,我们经常会使用工具来生成。之前经常使用Swagger来生成,最近发现一款好用的API文档生成工具smart-doc, 它有着很多Swagger不具备的特点,推荐给大家。 SpringBoot实战电商项目mall(50k+star... ...查看全部
0
评论

你的列表很卡?这4个优化能让你的列表丝般顺滑 优化

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

前言 列表 ListView 是应用中最为常见得组件,而列表往往也会承载很多元素,当元素多,尤其是那种图片文件比较大的场合,就可能会导致列表卡顿,严重的时候可能导致应用崩溃。本篇来介绍如何优化列表。 优化点1:使用 builder构建列表 当你的列表元素是动态... ...查看全部
0
评论

Handler 源码分析 handler Android

柳天明 发表了文章 • 712 次浏览 • 2021-11-08 15:02 • 来自相关话题

一、ThreadLocal是什么ThreadLocal 是线程的局部变量, 是每一个线程所单独持有的,其他线程不能对其进行访问,ThreadLocal可以让每个线程拥有一个属于自己的变量的副本,不会和其他线程的变量副本冲突,实现了线程的数据隔离。每个线程都有一... ...查看全部
0
评论

Android基础-LRU缓存策略 Android 缓存

柳天明 发表了文章 • 837 次浏览 • 2021-11-08 15:00 • 来自相关话题

前言缓存策略在Android开发是比较常见的,尤其是在图片使用业务场景中缓存策略发挥重要作用。对于移动应用常用UI就是图片组件而且图片显示资源常常来自网络,因此为了更快的图片加载和减省流量就需要使用缓存策略实现一个完备的图片加载框架。图片加载库的基本逻辑如下:... ...查看全部
0
评论

提高app的响应能力-布局优化 性能优化 Android

柳天明 发表了文章 • 707 次浏览 • 2021-11-08 14:58 • 来自相关话题

提高app的响应能力-布局优化在刚开始开发安卓的时候,应用无响应(ANR)是很常见的,随着安卓手机的性能和编程能力的提高,现在不会遇到这样低级别的错误了,这篇文档分享如何提高应用程序的响应能力。前言应用响应能力意为用户操作时的速度,也就是让使用者感觉到轻、快、... ...查看全部
0
评论

SharedFlowBus:30行代码实现消息总线你确定不看吗 kotlin

柳天明 发表了文章 • 1025 次浏览 • 2021-11-08 14:56 • 来自相关话题

前言最近看到很多关于livedata和flow的文章,大家都在学那我肯定不能落后。便去学习一番,偶得SharedFlowBus(卷死你们)。那么正式开始前我们先大概了解下 StateFlow 和 SharedFlowStateFl... ...查看全部
0
评论

面试官:你给我说一下线程池里面的几把锁。 线程池

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

你好呀,我是歪歪。 最近有个读者给我说,面试聊到线程池的时候,相谈甚欢,基本都回答上来了,但是其中有一个问题直接把他干懵逼了。 面试官问他:你说一下线程池里面的锁吧。 结果他关于线程池的知识点其实都是在各个博客或者面经里面看到的,没有自己去翻阅过源码,也就根本... ...查看全部
0
评论

还在频繁定义常量?不试试用枚举代替 枚举

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

1、简介 不知道大家有没有在自己项目中看到过类似下面这样的代码: public static void fruitsHandle(String fruits) { switch (fruits) { case "Apple": ... ...查看全部
0
评论

解决 Flutter 嵌套过深,是选择函数还是自定义类组件? Flutter

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

前言 初学 Flutter 的时候,一个很大的感受就是组件嵌套层级很深,写下来的代码找对应的括号都找不到。比如下面这种情况,从最外层的 Scaffold 到最里层的 Image.asset,一共有7层组件嵌套。这还不算多的,最夸张是见过一个表单页面写了10多层... ...查看全部
0
评论

可折叠式标题栏 toolbar

柳天明 发表了文章 • 689 次浏览 • 2021-11-05 11:53 • 来自相关话题

CollapsingToolbarLayout顾名思义,这是一个作用在Toolbar上的布局,但是要注意的是CollapsingToolbarLayout不能单独存在,它必须要作为AppBarLayout的直接子布局来使用,而AppBarLayout又必须是C... ...查看全部
0
评论

基础巩固——多线程 多线程

柳天明 发表了文章 • 749 次浏览 • 2021-11-05 11:49 • 来自相关话题

多线程编程Android沿用了Java的线程模型,一个Android应用在创建时会开启一个线程,常称作主线程,也叫做UI线程,如果有请求网络等耗时操作时,就需要开启子线程去处理。因此,此文对多线程进行梳理总结线程基础1. 进程与线程这两个的区分在我的另一篇文章... ...查看全部
0
评论

使用DialogFragment代替Dialog dialog Android

柳天明 发表了文章 • 1288 次浏览 • 2021-11-05 11:46 • 来自相关话题

使用DialogFragment代替Dialog是这样,用了很久的一个Dialog工具类,结果今天发现了一个bug,尝试着搜索发现大家都已经用DialogFragment了,官方也推荐这么做,猛然醒悟原来自己已经过时这么久了。现在就来试试吧。DialogFra... ...查看全部
0
评论

栈的实现

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

一、栈 💦 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。 栈中的数据元素遵守后进先出LIFO (Last In First Out) 的原则;同时对于栈来说,一种入栈顺序对... ...查看全部
0
评论

一篇文章了解Java之网络编程 网络编程

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

一、网络基础知识 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。 计算机网络形式多样,内容繁杂。网络上的计算机要互相通信,必须遵循一定的协议。目前使用最广泛的网络协议是Internet上所使用的TCP/IP协议。 IP地址:具有全球唯一性,... ...查看全部
0
评论

熬夜再战Android-Button实现selector选择器 selector

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

前提 这是小空熬夜写的Android新手向系列,欢迎品尝。 selector是按钮最常用的功能,对美化控件的作用很大。 上节我们说了selector和shape联合使用,但偏向shape的介绍,今天主要说selector。 👉实践过程 我们先按照上一节的sha... ...查看全部
0
评论

View 事件分发机制详解 事件分发

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

View事件传递过程先从Activity-->Window-->View。public boolean dispatchTouchEvent(MotionEvent ev) { boolean consume = false; ... ...查看全部
0
评论

学习笔记-Retrofit源码解析 源码解析 retrofit

柳天明 发表了文章 • 655 次浏览 • 2021-11-04 13:57 • 来自相关话题

挖掘Retrofit:2.8.0源码。介绍Retrofit如何完成对OkHttp的封装,以及Retrofit如何支持的协程。1. BuilderRetrofit通过Retrofit.Builder创建,主要是配置各种工厂Factory。val retrofit... ...查看全部
0
评论

大厂Android高频问题:谈谈Activity的启动模式? 启动模式 Android

柳天明 发表了文章 • 821 次浏览 • 2021-11-04 13:54 • 来自相关话题

前言Activity可以说是Android开发面试高频的一道问题,但总有小伙伴在回答这道问题总不能让面试满意, 在这你就要搞清楚面试问你对Activity启动模式时,他最想听到的和其实想问的应该是哪些?下面我们通过以下几点来剖析这道问题!启动模式是什... ...查看全部
0
评论

当我们讨论Android重建机制时在讨论什么? Android

柳天明 发表了文章 • 1411 次浏览 • 2021-11-04 13:52 • 来自相关话题

前言Android应用有一个常常被忽略的问题,但问题出现时你又不得不面对。比如Activity横竖屏转换时Fragment重影应用长时间处于后台,并用户重新切到前台时,Activity显示异样或者需要等待一段时间才能显示内容这类问题都与Activity的恢复重... ...查看全部
0
评论

Room & Kotlin 符号的处理 kotlin Room

柳天明 发表了文章 • 683 次浏览 • 2021-11-04 13:47 • 来自相关话题

Jetpack Room 库在 SQLite 上提供了一个抽象层,能够在没有任何样板代码的情况下,提供编译时验证 SQL 查询的能力。它通过处理代码注解和生成 Java 源代码的方式,实现上述行为。 注解处理器非常强大,但它们会增加构建时间。这对于用 Java... ...查看全部
0
评论

坏了!面试官问我垃圾回收机制 垃圾回收

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

面试官:我还记得上次你讲到JVM内存结构(运行时数据区域)提到了「堆」,然后你说是分了几块区域嘛 面试官:当时感觉再讲下去那我可能就得加班了 面试官:今天有点空了,继续聊聊「堆」那块吧 候选者:嗯,前面提到了堆分了「新生代」和「老年代」,「新生代」又分为「Ed... ...查看全部
0
评论

flutter 数字键盘、自定义键盘 自定义键盘

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

有些特殊的场景 会遇到使用数字键盘的特殊场景,例如输入金额、数量 number_keypan.dart =》文件内容如下: import 'package:flutter/material.dart'; /// <summary> /// ... ...查看全部
0
评论

【GC算法几人知?】一、前置知识积累 GC

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

本篇是接下来算法的前置知识,毕竟搞懂算法逻辑的基础,是搞懂概念 结构 对象 组成: 头:保存对象的一些基本信息,比如大小,种类等,他的地址也代表对象的地址,类似于数组的首地址 域:对象中可以访问的部分,里面可以有各种数据,也可以有指向其他对象的指针(指向其... ...查看全部
0
评论

Rxjava - 自己动手实现Rxjava 观察者模式 rxjava

柳天明 发表了文章 • 762 次浏览 • 2021-11-03 11:36 • 来自相关话题

先看看大致实现的样式:Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter emitter) thro... ...查看全部
0
评论

RxJava的并发实现 Android rxjava

柳天明 发表了文章 • 798 次浏览 • 2021-11-03 11:35 • 来自相关话题

我们在开发App过程中,常常遇见这种需求,例如首页,仅一个界面就要请求3个甚至更多的接口,更变态的是这些接口必须按顺序请求,来以此展示返回结果,那么这样我们就无法用普通的并发去同时请求接口了,因为我们无法预知各个接口的请求完成时间,普通的也是最简单的办法就是依... ...查看全部
0
评论

Android线程思考 Android 多线程

柳天明 发表了文章 • 771 次浏览 • 2021-11-03 11:33 • 来自相关话题

在编程中我们经常遇到多线程相关的问题,记得刚工作的时候对线程没有太多概念,只知道new Thread()run函数中是新的线程,函数多调用几层,特别是一些别人的回调函数中,就忽略了线程引起的并发问题,产生了并发修改异常的崩溃。今天总结一些线程相关的知识。线程基... ...查看全部
0
评论

Kotlin - Compose 编程思想 compose kotlin Android

柳天明 发表了文章 • 777 次浏览 • 2021-11-03 11:31 • 来自相关话题

Kotlin - Compose Compose 编程思想 Jetpack Compose 是一个适用于 Android 的新式声明性界面工具包。Compose 提供声明性 API,让您可在不以命令方式改变前端视图的情况下呈现应用界面,从而... ...查看全部
0
评论

面试官问我JVM内存结构,我真的是 jvm

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

面试官:今天来聊聊JVM的内存结构吧? 候选者:嗯,好的 候选者:前几次面试的时候也提到了:class文件会被类加载器装载至JVM中,并且JVM会负责程序「运行时」的「内存管理」 候选者:而JVM的内存结构,往往指的就是JVM定义的「运行时数据区域」 候选者:... ...查看全部
0
评论

大力作业灯APP编译内存治理 编译内存

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

背景 随着作业灯业务的蓬勃发展,大力客户端的编译情况劣化越来越严重。sync一次项目需要长达五分钟,本地编译耗时也极长,还会经常出现GC over limit 错误,严重影响开发效率。CI编译时长经常超过20分钟,严重影响合码效率。 以上劣化已经严重影响到日常... ...查看全部
0
评论

我该如何给Flutter webview添加透明背景? webview

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

为何写这篇文章 承接以上前言,我之所以写这篇文章,是因为我改的是Flutter官方的插件webview_flutter。Flutter官方的插件,全部是在一个gitHub仓库上维护的,各个库之间又相互关联。【见下图】 所以改功能其实是其次,如何在这庞大的Fl... ...查看全部
0
评论

Flutter 主流状态管理框架 provider get 分析与思考 Flutter provider

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

Flutter 中状态管理是一个经久不衰的话题,当下市面上也有诸如 provider 、get 、fish_redux 等框架。自接触 flutter 开发以来,我大致经历了无状态管理 、简单的状态抽象,再到目前使用的是公司内部一个类似 provider 的解... ...查看全部
0
评论

flutter 优秀dio网络拦截可视化 (IMGEEK首发) dio Flutter

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

flutter_interceptor flutter dio 拦截器 库源码:github.com/smartbackme… 开始集成 dependencies: flutter_interceptor: ^0.0.1 dio添加拦截器 _dio.int... ...查看全部
0
评论

聊聊ViewPager2实现原理以及缓存复用机制 ViewPager2 Android

柳天明 发表了文章 • 1139 次浏览 • 2021-11-02 11:35 • 来自相关话题

1. 前言众所周知ViewPager2是ViewPager的替代版本。它解决了ViewPager的一些痛点,包括支持right-to-left布局,支持垂直方向滑动,支持可修改的Fragment集合等。ViewPager2内部是使用RecyclerView来实... ...查看全部
0
评论

ViewModel-Flow-LiveData,我们还是好朋友 jetpack Android

柳天明 发表了文章 • 877 次浏览 • 2021-11-02 11:33 • 来自相关话题

在Android应用程序中加载UI数据可能是一个挑战。各种屏幕的生命周期需要被考虑在内,还有配置的变化导致Activity的破坏和重新创建。当用户在一个应用程序中进一步或后退,从一个应用程序切换到另一个应用程序,或者设备屏幕被锁定或解锁时,应用程序的各个屏幕会... ...查看全部
0
评论

android Compose中沉浸式设计和导航栏的处理 compose Android

柳天明 发表了文章 • 1596 次浏览 • 2021-11-02 11:31 • 来自相关话题

Material Design风格的顶部和底部导航栏Compose中Material Design风格的设计我们的做法如下:1、使用Scafoold作为页面的顶级,Scafoold中承载topbar和bottombar分别作为顶部导航栏和底部导航栏。2、调用W... ...查看全部
0
评论

算法题:String类型转int类型(不用Java内置函数) 算法

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

如何不采用java的内置函数,把String类型转换为int类型,想到两种方法,如下代码自己测试下 package com.journey.test; public class AtoiTest { public static void main(Str... ...查看全部
0
评论

Window和WindowManager和ViewRootImpl Android

柳天明 发表了文章 • 1006 次浏览 • 2021-11-01 11:36 • 来自相关话题

1 Window1.1什么是Window?Window是一个抽象类,提供了绘制窗口的一组通用API。Window负责Android中的显示,可以理解为一个View的载体,负责将这个View显示出来。-PhoneWindow是Window的唯一子类。举例:Act... ...查看全部
0
评论

View的事件分发机制 事件分发 Android

柳天明 发表了文章 • 707 次浏览 • 2021-11-01 11:32 • 来自相关话题

1 基本概念1.1 事件分发的对象是谁?当用户触摸屏幕时将产生点击事件(Touch事件),其相关细节(发生触摸的位置、时间等)会被封装成MotionEvent对象。MotionEvent对象就是事件分发的对象。事件类型事件类型具体动作MotionEvent.A... ...查看全部
0
评论

含有边框的TextView-Android textview Android

柳天明 发表了文章 • 754 次浏览 • 2021-11-01 11:31 • 来自相关话题

前言实际的项目中我们经常会遇到边框的问题,一开始我都是直接用shape来实现,但是这种方式非常的麻烦,后面又用了三方库SuperTextView,后面学习了自定义View自己来实现一下吧.Codepublic class BorderTextView exte... ...查看全部
0
评论

安卓TextView完美展示html格式代码 textview Android

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

对于TextView展示html格式代码,最简单的办法就是使用textview.setText(Html.fromHtml(html));,即便其中有img标签,我们依然可以使用ImageGetter,和TagHandler对其中的图片做处理,但用过的都知道,... ...查看全部
0
评论

Google 宣布废弃 LiveData.observe 方法 LiveData Android

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

本篇文章作为技术动态了解即可,废弃 LiveData.observe() 扩展方法,已经不是什么新的新闻了,在很久以前,Google 废弃掉这个方法的时候,第一时间我在 朋友圈 和 掘金沸点 发过一个... ...查看全部