注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

高仿小米加载动画效果 加载动画

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

前言 首先看一下小米中的加载动画是怎么样的,恩恩~~~~虽然只是张图片,因为录制不上全部,很多都是刚一加载就成功了,一点机会都不提供给我,所以就截了一张图,他这个加载动画特点就是左面圆圈会一直转。 仿照的效果如下: 实现过程 这个没有难度,只是学会一个公式... ...查看全部
0
评论

探究 Kotlin 的隐藏性能开销与避坑指南 性能 kotlin

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

在 2019 年 Google I/O 大会上,Google 宣布了今后 Android 开发将优先使用 Kotlin ,即 Kotlin-first,随之在 Android 开发界兴起了一阵全民学习 Kotlin 的热潮。之后 Google 也推出了一系列用... ...查看全部
0
评论

Android 弹幕的两种实现及性能对比 | 自定义 LayoutManager 弹幕

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

引子 上一篇用“动画”方案实现了弹幕效果,自定义容器控件,每一条弹幕都作为其子控件,将子弹幕的初始位置置于容器控件右边的外侧,每条弹幕都通过从右向左的动画来实现贯穿屏幕的平移。 这个方案的性能有待改善,打开 GPU 呈现模式: 原因在于容器控件会提前构建所有... ...查看全部
0
评论

kotlin修炼指南6-Sealed到底密封了啥 Sealed kotlin Android

柳天明 发表了文章 • 1293 次浏览 • 2021-09-18 17:38 • 来自相关话题

在代码中,我们经常需要限定一些有限集合的状态值,例如:网络请求:成功——失败账户状态:VIP——穷逼VIP——普通工具栏:展开——半折叠——收缩等等。通常情况下,我们会使用enum class来做封装,将可见的状态值通过枚举来使用。enum class Net... ...查看全部
0
评论

LeakCanary源码分析 leakCanary

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

LeakCanary使用 LeakCanary是一个用于Android的内存泄漏检测库.本文从如下四点分析源码 检查哪些内存泄漏 检查内存泄漏的时机 如何判定内存泄漏 如何分析内存泄漏(只有一点点,可能跟没有一样) 内存泄漏误报 1.检查哪些内存泄漏 A... ...查看全部
0
评论

内联函数产生原因和原理 内联函数

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

为什么要内联函数因为: Kotlin为了书写简单,所以引入了lambda。但是: lambda会造成性能消耗。所以: 引入了内联函数来解决这个问题。如何证明lambda书写简单我们来实现个需求,diff一下有lambda和无lambda的代码便知。需求: 实现... ...查看全部
0
评论

相比 XML , Compose 性能到底怎么样? compose

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

前言 最近Compose已经正式发布了1.0版本,这说明谷歌认为Compose已经可以用于正式生产环境了 那么相比传统的XML,Compose的性能到底怎么样呢? 本文主要从构建性能与运行时两个方面来分析Compose的性能,数据主要来源于:Jetpack C... ...查看全部
0
评论

Android知识点之Service(四) service Android

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

2、service的生命周期,两种启动模式的区别 (1)、通过startService()方法来启动服务 生命周期:onCreate() -> onStart()或者onStartCommand() -> onDestroy() onStart()... ...查看全部
0
评论

Android知识点之Service(三) service Android

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

(3)、异进程服务启动绑定流程 由(1)和(2)可以知道,无论是启动服务还是绑定服务,最终是通过SystemServer进程中的ActiveServices对象的bringUpServiceLocked方法来执行,bringUpServiceLocked方法是... ...查看全部
0
评论

Android知识点之Service(二) service Android

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

(2)、绑定服务流程(同进程) a、应用内调用到AMS过程 在Activity环境下调用bindService方法 frameworks/base/core/java/android/content/ContextWrapper.java public boo... ...查看全部
0
评论

Android知识点之Service(一) service Android

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

1、service 启动流程(Android 11)(1)、启动服务流程(同进程)a、应用内调用到AMS过程在Activity环境下调用startService方法 frameworks/base/core/java/android/content/Conte... ...查看全部
0
评论

Flutter手势探索——原理与实现的背后 Flutter

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

作者:闲鱼技术——子东在日常开发中,手势和事件无处不在,比如在 Flutter 应用中点击一个点赞按钮,长按弹出 BottomSheet 和商品列表的滑动等等都存在事件传递和手势识别,Flutter 内部是如何确定哪个控件响应了事件,事件是如何在控件之间传递的... ...查看全部
0
评论

实践 | Google I/O 应用是如何适配大尺寸屏幕 UI 的? 适配

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

5 月 18 日至 20 日,我们以完全线上的形式举办了 Google 每年一度的 I/O 开发者大会,其中包括 112 场会议、151 个 Codelab、79 场开发者聚会、29 场研讨会,以及众多令人兴奋的发布。尽管今年的大会没有发布新版的 Google... ...查看全部
0
评论

Android Camera了解一下 Camera

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

Camera 演进简介最近在项目中遇到 Camera相关的场景,之前对这块不是很了解,趁机补了一下盲区。Android Camera 相关也是生态碎片化较为严重的一块,Android FrameWorkt提供Camera API来实现拍照与屏幕录制的能力,目前... ...查看全部
0
评论

JetPack——ViewModel简析 jetpack Android

柳天明 发表了文章 • 1210 次浏览 • 2021-09-16 13:54 • 来自相关话题

简介ViewModel以生命周期的方式存储和管理界面相关的数据。让数据在发生屏幕旋转等配置更改后得以继续留存。同时,可以将数据操作从UI控制器(Activity)里分离出来,这样就只需要Activity控制UI逻辑而无需处理数据业务逻辑。在需要进行一些异步操作... ...查看全部
0
评论

android高仿微信聊天消息列表自由复制文字,双击查看文本内容 textview Android

柳天明 发表了文章 • 2403 次浏览 • 2021-09-16 13:52 • 来自相关话题

掘金地址 github地址SelectTextHelper打造一个全网最逼近微信聊天消息自由复制,双击查看文本内容框架。 汇聚底层TextView框架、原理并加以整理得出的一个实用的Helper。 仅用两个类实现便实现如此强大的功能,用法也超级简单。... ...查看全部
0
评论

【kotlin从摸索到探究】- delay函数实现原理 delay

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

简介这片文章主要讲解kotlin中delay函数的实现原理,delay是一个挂起函数。kotlin携程使用过程中,经常使用到挂起函数,在我学习kotlin携程的时候,一些现象让我很是困惑,所以打算从源码角度来逐一分析。说明在分析delay源码实现过程中,由于对... ...查看全部
0
评论

【kotlin从摸索到探究】- 协程的执行流程 协程

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

简介 这篇文章将从源码的角度,分析携程的执行流程,我们创建一个携程,系统是怎么进行调度的,什么时候执行的,是否需要创建新线程等等,带着这些疑问,一起往下看吧。 例子先行 fun main(): Unit = runBlocking { launch {... ...查看全部
0
评论

使用 Kotlin 重写 AOSP 日历应用 日历

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

两年前,Android 开源项目 (AOSP) 应用 团队开始使用 Kotlin 替代 Java 重构 AOSP 应用。之所以重构主要有两个原因: 一是确保 AOSP 应用能够遵循 Android 最佳实践,另外则是提供优先使用 Kotlin 进行应用开发的良... ...查看全部
0
评论

中秋快乐!来看看满眼都是中秋气息的app页面吧~ 中秋

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

前言:看了很久,大家是真的🐂🍺,月球绕地球都整出来了,那我也来给大家整上花活~然后送上中秋祝福:月儿圆又亮,月饼圆又甜,家家团圆相聚,人人欢心甜蜜,祝你家圆人圆事事圆,中秋愉快! 不妨点个赞啦,看到这篇文章的帅哥~ app中秋的引导界面:(完整效果截图在最后哦... ...查看全部
0
评论

Flutter自适应瀑布流 Flutter

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

前言:在电商app经常会看到首页商品推荐的瀑布流,或者类似短视频app首页也是瀑布流,这些都是需要自适应的,才能给用户带来好的体验 话不多说先上效果图: 根据效果图可以分为四步: 1.图片自适应 2.自适应标签 3.上拉刷新和下拉加载 4.底部的点赞按钮可以... ...查看全部
0
评论

Android 控制 ContentProvider的创建 contentProvider

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

序言 随着app隐私政策的收紧,现在不经过用户同意,就收集敏感信息的行为一旦被检测出来。很容易造成app下架。但是有些SDK的初始化是通过注册ContentProvider实现自动调用其onCreate()方法,来实现无感初始化的。如果SDK在ContentP... ...查看全部
0
评论

不做跟风党,LiveData,StateFlow,SharedFlow 使用场景对比 LiveData StateFlow SharedFlow

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

Android 常用的分层架构 Android 中加载 UI 数据不是一件轻松的事,开发者经常需要处理各种边界情况。如各种生命周期和因为「配置更改」导致的 Activity 的销毁与重建。 「配置更改」的场景有很多:屏幕旋转,切换至多窗口模式,调整窗口大小... ...查看全部
0
评论

android 事件分发机制 事件分发 Android

柳天明 发表了文章 • 1034 次浏览 • 2021-09-14 10:30 • 来自相关话题

Android 事件分发机制解析1. view的事件分发机制view的事件分发是从 dispatchTouchEvent() 开始的,直接上代码;public boolean dispatchTouchEvent(MotionEvent event) { ... ...查看全部
0
评论

自定义可点击可滑动的通用RatingBar 动画 Android

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

介绍一个可以设置间距,设置选中未选中图标及数量,选中图标的类型(整,半,任意),可点击,可滑动选择的类似原生RatingBar的自定义View。效果图预览实现自定义属性<declare-styleable name="CommonRatingBar"&g... ...查看全部
0
评论

Android 控制 ContentProvider的创建 contentProvider Android

柳天明 发表了文章 • 994 次浏览 • 2021-09-14 10:27 • 来自相关话题

序言随着app隐私政策的收紧,现在不经过用户同意,就收集敏感信息的行为一旦被检测出来。很容易造成app下架。但是有些SDK的初始化是通过注册ContentProvider实现自动调用其onCreate()方法,来实现无感初始化的。如果SDK在ContentPr... ...查看全部
0
评论

Jetpack Compose Banner即拿即用 compose jetpack Banner

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

Jetpack Compose目前没有官方的Banner控件,所以只能自己写,搜了些资料才完成,非常感谢之前分享过这些内容的大佬们。 效果图 accompanist组库 accompanist 旨在为Jetpack Compose提供补充功能的组库,里面有非... ...查看全部
0
评论

三步实现一个自定义任意路径的嫦娥奔月(Flutter版) Flutter

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

前言 可能不少人看到这个标题,心里想的是: 要是被我发现你TM就是个标题党,三步完不成,信不信我堵在你家门口,见一次打一次,你给我去死吧 不就是个平移动画嘛,我上我也行,让我进去骂死这个水文货 要是真这么想的话,我只能说: 下面给大家整个活... ...查看全部
0
评论

Compose 实现月亮阴晴圆缺动画 compose

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

效果图 人有悲欢离合,月有阴晴圆缺,此事古难全。 但愿人长久,千里共婵娟。 恰逢中秋佳节,我们今天就使用Compose来实现一下月相变化动画吧~ 感兴趣的同学可以点个Star : Compose 实现月亮阴晴圆缺动画 主要思路 满天繁星 为了实现月相动画... ...查看全部
2
评论

LeetCode第一讲:哈希表相关讲解 LeetCode 数据结构 算法 哈希表

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

哈希表简单说明哈希表的建立需要有哈希地址,那么哈希地址地址的生成需要一个哈希函数,什么是哈希函数呢?哈希函数就是一个精心设计好的函数,该函数可以计算出存储的数据要放在什么位置,举个例子说明:例:有4条电话数据:王二蛋 12345678985李狗蛋 115544... ...查看全部
0
评论

面试再也不怕 Handler 了,消息传递机制全解析 Android handler

柳天明 发表了文章 • 1131 次浏览 • 2021-09-13 14:59 • 来自相关话题

一、为什么要使用 Handler众所周知,Android 不允许在子线程中更新 UI。但是我们在子线程完成耗时的操作之后,需要对界面数据进行更新,又该怎么处理呢?这时候,我们可以使用 Handler 进行 UI 更新。值得注意的是,更新 UI 我们需要把 Me... ...查看全部
2
评论

在android中如何制作一个方向轮盘 自定义View Android

柳天明 发表了文章 • 1011 次浏览 • 2021-09-13 14:58 • 来自相关话题

先上效果图原理很简单,其实就是一个自定义的view通过观察,很容易发现,我们自己的轮盘就两个view需要绘制,一个是外面的圆盘,一个就随手指移动的滑块; 外面的圆盘很好绘制,内部的滑块则需要采集手指的位置,根据手指的位置计算出滑块在大圆内的位置; 最后,我们做... ...查看全部
0
评论

Android 架构师之路 - AOP 面向切面编程 AOP Android

柳天明 发表了文章 • 927 次浏览 • 2021-09-13 14:56 • 来自相关话题

引言相信很多做过Web的同学对AspectJ都不陌生,Spring的AOP就是基于它而来的。如果说平常我们随便写写程序的时候,基本也不会用到它,需要调试的话无非就是多加一个System.out.printfln()或者Log.d()。但是由于基于面向对象的固有... ...查看全部
0
评论

安卓分页加载器——Paging使用指南 Paging Android

柳天明 发表了文章 • 2707 次浏览 • 2021-09-13 14:53 • 来自相关话题

一、简介应用开发过程中分页加载时很普遍的需求,它能节省数据流量,提升应用的性能。 Google为了方便开发者完成分页加载而推出了分页组件—Paging。为几种常见的分页机制提供了统一的解决方案。优势分页数据的内存中缓存。该功能可确保应用在处理分页数据时高效利用... ...查看全部
0
评论

安卓-Glidel图片加载框架学习笔记 Glide Android

柳天明 发表了文章 • 1038 次浏览 • 2021-09-13 14:49 • 来自相关话题

引用地址: muyangmin.github.io/glide-docs-… 以glide Version = '4.12.0'为例 1.Gradle配置 此处配置在子模块里(要添加到app主模块也可以),非app主模块里 //glide图片加载框架 impl... ...查看全部
0
评论

2021年,跨端是否已成趋势?Android 开发还有必要学 Flutter 吗? react native Flutter

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

由于手机APP的运行受不同操作系统的限制,目前大多数的移动APP应用开发仍然需要针对不同的系统环境进行单独的开发。不过,为了降低开发成本、提高代码复用率,减少开发者对多个平台差异适配的工作量一直是跨平台开发框架追求的目标。 但是目前,很多开发者还不不确定应该选... ...查看全部
0
评论

当 Adapter 遇上 Kotlin DSL,无比简单的调用方式 Adapter kotlin DSL

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

早在去年的时候我就提到过使用工厂的方式获取 Adapter 而不是为每个 Adapter 定义一个类文件。这样的好处是,对于不是那么复杂的 Adapter 可以节省大量的代码,提升开发效率和解放双手,同时更好的支持多类型布局效果。 1、Kotlin DSL 和... ...查看全部
0
评论

Hook AMS + APT实现集中式登录框架 apt AMS Hook

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:[juejin.cn/post/700695…) 1, 背景 登录功能是App开发中一个很常见的功能,一般存在两种登录方式: 一种是进入应用... ...查看全部
0
评论

Bitmap和Drawable image Android

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

Bitmap:图片信息的存储工具,保存每一个像素是什么颜色image: width:640 height:400 pixel:ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff0000ff0000f... ...查看全部
0
评论

Android高德地图踩坑记录-内存泄漏问题 问题 Android

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

1、问题现象最近做项目优化,在查找app可能存在的内存泄漏地方,项目中有用到高德地图SDK,有一个页面有展示地图,每次退出该页面的时候,LeakCanary老是提示有内存泄漏,泄漏的大概信息如下:2、排查问题看样子像是高德地图相关的内存泄漏,不过为了进一步可以... ...查看全部
0
评论

如何打造一款权限请求框架 权限请求 Android

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

原理通过向当前Activity添加一个不可见的Fragment,从而实现权限申请流程的封装。实现不可见的Fragmentinternal class EPermissionFragment : Fragment() { private var mCal... ...查看全部
0
评论

Dart 2.14 发布,新增语言特性和共享标准 lint lint

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

Dart 2.14 的发布对 Apple Silicon 处理器提供了更好的支持,并新增了更多提升生产力的功能,例如通过代码样式分析捕获 lint 错误、更快的发布工具、更好的级联代码格式以及一些细小的语言特性更新。 Dart SDK 对 Apple Sili... ...查看全部
0
评论

如何打造一款权限请求框架 权限

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

原理 通过向当前Activity添加一个不可见的Fragment,从而实现权限申请流程的封装。 实现 不可见的Fragment internal class EPermissionFragment : Fragment() { private var ... ...查看全部
0
评论

Frida笔记 - Android 篇 (一) Frida

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

前言 相信不少小伙伴对Xposed、Cydia Substrate、Frida等hook工具都有所了解, 并且用在了自己的工作中, 本文主要分享Frida的环境配置以及基本使用, 以及相关功能在日常开发调试带来的帮助 配置Frida的环境 Frida的环境安装... ...查看全部
0
评论

正式版即将到来 | Android 12 Beta 5 现已发布 新闻资讯 Android

柳天明 发表了文章 • 960 次浏览 • 2021-09-09 14:38 • 来自相关话题

作者 / Dave Burke, VP of Engineering距离 Android 12 的正式发布只有几周时间了!新版 Android 系统的润色已经进入收尾阶段,今天我们带来最后一个 Beta 版更新,供大家进行测试和开发。对于开发者来说,是时候让自... ...查看全部
0
评论

Java多线程 多线程 Java

柳天明 发表了文章 • 953 次浏览 • 2021-09-09 14:37 • 来自相关话题

运行环境与工具jdk1.8.0macOS 11.4IDEA操作系统可以在同一时刻运行多个程序。例如一边播放音乐,一边下载文件和浏览网页。操作系统将cpu的时间片分配给每一个进程,给人一种并行处理的感觉。一个多线程程序可以同时执行多个任务。通常,每一个任务称为一... ...查看全部
0
评论

Android compose自定义布局 compose jetpack Android

柳天明 发表了文章 • 1749 次浏览 • 2021-09-09 14:36 • 来自相关话题

开新坑了,compose自定义布局。基础知识不说了,直接上正题。我们知道,在views体系下,自定义布局需要view集成viewgroup重写onMeasure、onLayout方法,在compse中,是使用Layout的compose方法,结构如下:以一个自... ...查看全部
0
评论

Android 非Root设备下调试so so Android

柳天明 发表了文章 • 1366 次浏览 • 2021-09-09 14:35 • 来自相关话题

准备工作手机:Google Pixel 3 Android 11, API 30工具:IDA 7.0、Android Studio电脑系统:win10写一个C++ demo稍微改动下代码,点击Hello World调用c++class MainActivity... ...查看全部
0
评论

Android消息队列原理 handler Android

柳天明 发表了文章 • 1344 次浏览 • 2021-09-09 14:34 • 来自相关话题

本文章是对任玉刚前辈的《Android开发艺术》一书中的第10章“Android的消息机制”的简单理解,不足之处请多多指正。Handler是Android机制的上层接口,它的运行要依靠MessQueue和Looper。Handler的使用想必大家都很了解,一般... ...查看全部
0
评论

使用Flutter撸一个极简的吃月饼小游戏 小游戏

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

先看效果 游戏规则很简单,在月饼投掷出去之后能够砸中月亮即记1分,否则该轮游戏结束,连续击中的次数则为本轮分数。 编码实现 代码上其实没有太多复杂度,大体逻辑如下: 1 月亮的移动动画,使用Tween实现一个补间动画,使用TweenSequence指定动画序... ...查看全部