注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

环信FAQ

环信FAQ

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

深入解析dio(一) Socket 编程实现本地多端群聊 socket Android

柳天明 发表了文章 • 1589 次浏览 • 2021-07-20 17:45 • 来自相关话题

深入解析dio(一) Socket 编程实现本地多端群聊引言无论你是否用过, wendux 大佬开源的 dio 项目,应该是目前 Flutter 中最 🔥 的网络请求库,在 github 上接近 1W 的 star。但其... ...查看全部
0
评论

Android资源管理及资源的编译和打包过程分析 编译 Android

柳天明 发表了文章 • 896 次浏览 • 2021-07-19 17:53 • 来自相关话题

前言在工作和学习中,我们除了要写一些业务代码,还要对项目的编译和打包流程有一定的认识,才能在遇到相关问题的时候能有所头绪。在这个过程中,我们往往会忽略掉资源文件是如何被添加进去的,Android的资源管理框架是一个很庞大和复杂的框架,资源编译打包的过程也很复杂... ...查看全部
0
评论

Android高手笔记 - 网络优化 逆向 Android

柳天明 发表了文章 • 850 次浏览 • 2021-07-19 17:52 • 来自相关话题

一文带你了解android中对注入框架的检测。(以下的检测来源于对某APP进行逆向分析得出的情况)1.检测栈信息2.检测包名信息public static boolean xp1(Context context) {         boolean scan... ...查看全部
0
评论

Android基础到进阶UI祖宗级 View介绍+实用 自定义View Android

柳天明 发表了文章 • 789 次浏览 • 2021-07-19 17:49 • 来自相关话题

View的继承关系在Android系统中,任何可视化控件都需要从android.view.View类继承。而任何从android.view.View继承的类都可以称为视图(View)。Android的绝大部分UI组件都放在android.widget包及其子包... ...查看全部
0
评论

iOS开发常见面试题(底层篇) iOS开发

zuyu 发表了文章 • 1337 次浏览 • 2021-07-19 14:49 • 来自相关话题

1.iOS 类(class)和结构体(struct)有什么区别?Swift 中,类是引用类型,结构体是值类型。值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个"指向"。所以他们两者之间的区别就是两个类型的区别。举个简单的例子,代码如下clas... ...查看全部
0
评论

iOS面试题快来来来(内存方向) iOS开发

zuyu 发表了文章 • 782 次浏览 • 2021-07-19 14:43 • 来自相关话题

1.形成tableView卡顿的缘由有哪些?1.最经常使用的就是cell的重用, 注册重用标识符若是不重用cell时,每当一个cell显示到屏幕上时,就会从新建立一个新的cellhtml若是有不少数据的时候,就会堆积不少cell。ios若是重用cell,为ce... ...查看全部
0
评论

UIScrollView属性及其代理方法 iOS开发

zuyu 发表了文章 • 796 次浏览 • 2021-07-19 14:37 • 来自相关话题

一、UIScrollView是什么?1、UIScrollView是滚动的view,UIView本身不能滚动,子类UIScrollview拓展了滚动方面的功能。2、UIScrollView是所有滚动视图的基类。以后的UITableView,UITextView等... ...查看全部
0
评论

JAVA中线程间通信的小故事 注入框架

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

从掘金的大佬中偷学到一个技能,为了提升知识提炼与字面表达能力,斟酌贴代码的篇幅,尽量用文字表达清楚技术知识的本质。(简单点就是“多说人话”) 正文开始! 前情提要 关于“线程间通信”的这个叫法,没查到比较官方的定义,也许它是一个通俗词吧。下面是基于笔... ...查看全部
0
评论

一文带你实现遍历android内存模块 android内存

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

1.Android内存模块遍历原理 在android系统上,要遍历app进程中的内存模块数据,必须用到proc文件系统。 proc它是由linux内核挂着到内存中,它提供内核配置、进程状态输出等功能。 用adb命令方式可以进行查看app进程中所有加载的模块... ...查看全部
0
评论

官方推荐 Flow 取代 LiveData,有必要吗? flow

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

前言打开Android架构组件页面,我们可以发现一些最新发布的jetpack组件,如Room,DataStore, Paging3,DataBinding 等都支持了FlowGoogle开发者账号最近也发布了几篇使用Flow的文章,比如:从... ...查看全部
0
评论

实战:5分钟搞懂OkHttp断点上传 okhttp

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

1、前言 经常会有同学问:文件的断点上传如何实现? 断点上传/下载,这是在客户端经常遇到的场景,当我们需要上传或下载一个大文件时,都会考虑使用断点续传的方式。 断点上传相较于断点下载来说,最大的区别就在于断点位置的记录,上传记录在服务端,下载记录在客户端... ...查看全部
0
评论

iOS底层探索开发 必不可少的 clang插件 iOS开发

zuyu 发表了文章 • 1046 次浏览 • 2021-07-16 18:47 • 来自相关话题

Clang插件LLVM下载由于国内的网络限制,我们需要借助镜像下载LLVM的源码https://mirror.tuna.tsinghua.edu.cn/help/llvm/下载llvm项目git clone https://mirrors.tuna.... ...查看全部
0
评论

OC底层原理-动态方法决议 iOS开发

zuyu 发表了文章 • 910 次浏览 • 2021-07-16 18:37 • 来自相关话题

当lookupImpOrForward函数从cache和methodTable中找不到对应Method,继续向下执行就会来到resolveMethod_locked函数也就是我们常说的动态方法决议 if (slowpath(behavior & ... ...查看全部
0
评论

iOS 攻防 - DYLD_INSERT_LIBRARIES iOS开发

zuyu 发表了文章 • 1147 次浏览 • 2021-07-16 18:32 • 来自相关话题

Tweak是通过DYLD_INSERT_LIBRARIES来插入动态库的,那么它是怎么做到的呢?这就需要去dyld源码中探究了。一、 DYLD_INSERT_LIBRARIES原理由于dyld源码中b不同版本有变动,需要分别看下新老版本的实现1.1 dyld-... ...查看全部
0
评论

Git-flow作者称其不适用于持续交付? Git

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

前言 Git-flow是由Vincent Driessen在2010年提出的一个Git分支模型,在这10年中,Git-flow在许多软件团队中变得非常流行,以至于人们开始将其视为某种标准。 不过最近Vincent Driessen更新了他10年前那篇著名的A... ...查看全部
0
评论

Jetpack Compose初体验--(导航、生命周期等) compose

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

普通导航 在Jetpack Compose中导航可以使用Jetpack中的Navigation组件,引入相关的扩展依赖就可以了 Navigation官方文档 implementation "androidx.navigation:navigation-co... ...查看全部
0
评论

使用更为安全的方式收集 Android UI 数据流 数据流

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

在 Android 应用中,通常需要从 UI 层收集 Kotlin 数据流,以便在屏幕上显示数据更新。同时,您也会希望通过收集这些数据流,来避免产生不必要的操作和资源浪费 (包括 CPU 和内存),以及防止在 View 进入后台时泄露数据。 本文将会带您学习如... ...查看全部
0
评论

Android直播间的送礼物动画-GiftSurfaceView 动画 Android

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

GiftSurfaceViewGiftSurfaceView 最初出自于2014年开发HalloStar项目时所写,主要用于HalloStar项目直播间的送礼物动画。现在想来,那夕阳下的奔跑,是我逝去的青春。因高仿全民TV项目时想起,所以抽空整理了下,以此记录... ...查看全部
0
评论

Java静态代理和动态代理 代理和动态代理

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

前言 再开始之前我们先不使用任何代理来实现一个网络请求的流程。 定义一个请求的接口: public interface Request { void request(); } 使用OkHttp来实现这个接口 public class ... ...查看全部
0
评论

优化Android工程中的图片资源 优化

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

场景 在一些上古工程中,由于年久失修,架构演进跟不上业务发展需要,会衍生出非常多比较明显的性能问题,其中就包括工程中图片资源的问题。 最明显的例子就是,工程中的图片资源未经任何压缩,直接使用来自设计稿中的原图,非常占用安装包体积;其次,显示效果不理想,在对... ...查看全部
0
评论

玩会儿Compose,原神主题列表 compose

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

Jetpack Compose出来有一段时间了,一直都没有去尝试,这次有点想法去玩一玩这个声明性界面工具,就以“原神”为主题写个列表吧。 整体设计参考DisneyCompose 效果图: 数据源 因为数据比较简单,也就只包含图片、姓名、描述等。... ...查看全部
0
评论

Objective-C 消息转发深度理解(2) iOS开发

zuyu 发表了文章 • 843 次浏览 • 2021-07-13 11:43 • 来自相关话题

4.1.3 forwarding_prep_0伪代码分析Hopper分析完毕后直接搜索forwarding_prep_0查看反汇编伪代码:int ___forwarding_prep_0___(int arg0, int arg1, int arg2, int... ...查看全部
0
评论

iOS Hook原理 - 反hook& MonkeyDev iOS开发

zuyu 发表了文章 • 1820 次浏览 • 2021-07-13 11:08 • 来自相关话题

一、 反 hook 初探我们Hook别人的代码一般使用OC的MethodSwizzle,如果我们用fishhook将MethodSwizzle hook了,别人是不是就hook不了我们的代码了?1.1 创建主工程 AntiHookDemo创建一个工程AntiH... ...查看全部
0
评论

iOS逆向 - fishhook iOS开发

zuyu 发表了文章 • 1250 次浏览 • 2021-07-13 10:52 • 来自相关话题

一、Hook概述HOOK中文译为挂钩或钩子。在iOS逆向中是指改变程序运行流程的一种技术。通过hook可以让别人的程序执行自己所写的代码。在逆向中经常使用这种技术。只有了解其原理才能够对恶意代码进行有效的防护。比如很久之前的微信自动抢红包插件:1.1Hook的... ...查看全部
0
评论

回顾 | Jetpack WindowManager 更新 jetpack

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

在今年年初,我们发布了 Jetpack WindowManager 库 alpha02 版本,这是一个较为重大的版本更新,并且包含部分已弃用的 API (目前已经发布到 1.0.0-alpha09 版),本文将为您回顾这次版本更新的内容。 Jetpack W... ...查看全部
0
评论

Android so文件的加载原理 so

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

先说说so的编译类型 Android只支持3种cpu架构分为:arm,mips,x86,目前用的最多的是arm体系cpu,x86和mips体系的很少用到了。 arm体系中,又分32位和64位: armeabi/armeabi-v7a:这个架构是arm类型的,主... ...查看全部
0
评论

探索 Android 消息机制 消息机制

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

1. Android 消息机制概述 Android 消息机制是由 Handler、Looper 和 MessageQueue 三者合作完成的,消息机制可以分为消息机制初始化、消息轮询、消息发送和消息处理 4 个过程来理解,消息机制是基于 Linux 的事... ...查看全部
0
评论

判断是否完全二叉树 数据结构 完全二叉树

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

Hello: ? 今天又和小伙伴们见面啦,最近一直做二叉树相关的题目今天再和大家分享一道相关的题目《判断是不是完全二叉树》 判断是否是完全二叉树 查看全部源码:点击查看全部源码 介绍-什么是完全二叉树? 先看如下这一张图: ... ...查看全部
0
评论

Android 依赖注入 hilt 库的使用 hilt

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

hilt官网 1-什么是控制反转和依赖注入? IOC(控制反转):全称是 Inverse of Control , 是一种思想.指的是让第3方去控制去创建对象. DI(依赖注入):全称是 Dependency Injection , 对象的创建是通过注入... ...查看全部
0
评论

用了postman,接口测试不用愁了 postman

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

Postman是一个功能强大的接口测试工具,不仅可以调用http接口也可以发送https请求,满足日常测试工作的需求。 一、下载 官网:https://www.postman.com 1.选择需要下载的版本号 2.双击下载的安装包,进入到用户登录和... ...查看全部
0
评论

Android集成开发google登录 google登录

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

这是我参与新手入门的第2篇文章 背景 项目在要Google Play上架,并支持全球下载,加了google登录 一.准备 google登录集成地址 在google登录中创建并配置项目:console.developers.google... ...查看全部
0
评论

政策工具类-谷歌AndroidAppBundle(aab)政策海外发行 AndroidAppBundle

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

作者 大家好,我是怡寶; 本人于18年毕业于湖南农业大学,于2021年6月加入37手游安卓团队; 目前负责于海外游戏发行安卓开发。 背景 根据Google Play的政策要求,自 2021 年 8 月起,Google Play 将开始要求新应用使用 ... ...查看全部
0
评论

iOS面试你需要了解的问题-应用签名 iOS开发

zuyu 发表了文章 • 803 次浏览 • 2021-07-08 16:12 • 来自相关话题

一、代码签名代码签名是对可执行文件或脚本进行数字签名。用来确认软件在签名后未被修改或损坏的措施。和数字签名原理一样,只不过签名的数据是代码而已。1.1简单代码签名在iOS出来之前,以前的主流操作系统(Mac/Windows)软件随便从哪里下载都能运行,系统安全... ...查看全部
0
评论

Android沙雕操作之hook Toast Hook

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

一,背景 这是个沙雕操作,原因是:在小米手机的部分机型上,弹Toast时会在吐司内容前面带上app名称,如下: 此时产品经理发话了:为了统一风格,在小米手机上去掉Toast前的应用名。 网上有以下解决方案,比如:先给toast的message设置为空... ...查看全部
0
评论

未勾选用户协议、隐私政策实现抖动效果 动画效果

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

这是我参与新手入门的第2篇文章 产品看到别家的app,未勾选协议的时候,会给用户一个抖动效果的提示,感觉不错,然后看了看自家的app,不行,没有抖动,不能很明显表示,于是需求出来了,用户未勾选的时候,给个抖动效果。( 呵,都不能有点创新,当然不能说出来... ...查看全部
0
评论

电子厂里撂了挑子,我默默自学起了Android|2021年中总结 电子厂

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

大四那年我被骗到了电子厂,无法忍受流水线的工作,愤而撩了挑子。前途一片渺茫的时候,我连夜爬起自学起了Android,开启了我的Android开发之路。至今已毕业多年,一直在这条热爱的道路上坚持着,快乐、知足、感恩。 分享我的故事之前,先简单回顾一下我这半年都... ...查看全部
0
评论

想搞懂Jetpack架构可以不搞懂生命周期知识吗? jetpack

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

1. 前言 Activity生命周期真是一个非常古老的话题,无论是10年前,还是当下。不管是面试还是工作,经常会遇到与Activity生命周期相关的问题。比如“按下返回键和Home键,生命周期方法调用顺序”、“A启动B,它们的生命周期方法调用顺序”。工作中,... ...查看全部
0
评论

从 LiveData 迁移到 Kotlin 数据流 LiveData

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

LiveData 的历史要追溯到 2017 年。彼时,观察者模式有效简化了开发,但诸如 RxJava 一类的库对新手而言有些太过复杂。为此,架构组件团队打造了 LiveData: 一个专用于 Android 的具备自主生命周期感知能力的可观察的数据存储器类。L... ...查看全部
0
评论

okhttp文件上传失败,居然是Android Studio背锅?太难了~ okhttp

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

1、前言 本案例是我本人遇到的真实案例,因查找原因的过程一度让我崩溃,我相信不少人也遇到过相同的问题,故将其记录下来,希望对大家有帮助,本案例使用RxHttp 2.6.4 + OkHttp 4.9.1版本,当然,如果你使用Retrofit等其它基于OkHtt... ...查看全部
0
评论

面试必备:Kotlin线程同步的N种方法 线程同步

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

面试的时候经常会被问及多线程同步的问题,例如: “ 现有 Task1、Task2 等多个并行任务,如何等待全部执行完成后,执行 Task3。” 在 Kotlin 中我们有多种实现方式,本文将所有这些方式做了整理,建议收藏。 1. Thread.join ... ...查看全部
0
评论

iOS-汇编-指针、OC iOS开发

zuyu 发表了文章 • 924 次浏览 • 2021-07-06 18:42 • 来自相关话题

局部变量&全局变量int global = 10; int main(int argc, char * argv[]) { int a = 20; int b = global + 1; return UIApplicatio... ...查看全部
0
评论

iOS 自定义命令行工具 iOS开发

zuyu 发表了文章 • 1015 次浏览 • 2021-07-06 18:32 • 来自相关话题

我们再越狱手机上能用很多工具,尤其是在终端上的一些操作。那么怎么实现一个在iOS终端的命令行工具呢?比如我们将常用的命令封装成自己的一个命令行工具方便自己调用。在这里我以ps -A和debugserver的开启为例。一、工程创建首先用Xcode创建一个iOS ... ...查看全部
0
评论

什么是spring,它能够做什么? spring

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

1.什么是Spring Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。    Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。   然而,Spr... ...查看全部
0
评论

TCP和UDP详解(非常详细) tcp udp

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

TCP和UDP详解 计算机网络知识扫盲:https://blog.csdn.net/hansionz/article/details/85224786 网络编程套接字:https://blog.csdn.net/hansionz/article/detail... ...查看全部
0
评论

Android即时通讯系列文章(4)MapStruct:分层式架构下不同数据模型之间相互转换的利器 Android websocket

柳天明 发表了文章 • 887 次浏览 • 2021-07-06 17:15 • 来自相关话题

文章开篇,让我们先来解答一下上篇文章中留下的疑问,即:为什么要设计多个Entity?以「分离关注点」为原则的分层式架构,是我们在进行应用架构设计时经常采用的方案,例如为人熟知的MVC/MVP/MVVM等架构设计模式下,划分出的表示层、业务逻辑层、数据访问层、持... ...查看全部
0
评论

Android即时通讯系列文章(3)数据传输格式选型:资源受限的移动设备上数据传输的困境 Android websocket

柳天明 发表了文章 • 905 次浏览 • 2021-07-06 17:15 • 来自相关话题

前言跟PC时代的传统互联网相比,移动互联网得益于移动设备的便携性,仅短短数年便快速地渗透到了人们生活、工作的各个方面。虽然通信技术和硬件设备在不断地更新升级换代,但就目前而言,电量、流量等对于移动设备来讲仍属于稀缺资源。参与过Android系统版本升级适配工作... ...查看全部
0
评论

Android即时通讯系列文章(2)网络通信协议选型:应以什么样的标准去选择适合你应用的网络通信协议? Android websocket

柳天明 发表了文章 • 916 次浏览 • 2021-07-06 17:13 • 来自相关话题

前言在前一篇文章《多进程:为什么要把消息服务拆分到一个独立的进程?》中我们出于保证连接的稳定性的目的,将应用拆分成了「主进程」和「通讯进程」,并为二者定义了相互通信的接口。即便如此,我们也只是实现了客户端一侧的进程间通信,而要实现与完整聊天系统中另一端的角色—... ...查看全部
0
评论

Android即时通讯系列文章番外篇(1)使用Netty框架快速搭设WebSocket服务器 Android websocket

柳天明 发表了文章 • 861 次浏览 • 2021-07-06 17:12 • 来自相关话题

前言随着本系列所讨论技术点的逐步深入,仅靠之前提到的官方测试服务器已经不能满足我们演示的需要了,于是我们有必要尝试在本地搭建自己的WebSocket服务器,今天这篇文章就是介绍这方面的内容。由于不属于原先的写作计划之内,同时也为了保持系列文章的连贯性,因此特意... ...查看全部
0
评论

为什么说在 Android 中请求权限从来都不是一件简单的事情? 权限 Android

柳天明 发表了文章 • 841 次浏览 • 2021-07-06 17:06 • 来自相关话题

周末时间参加了东莞和深圳的两场 GDG,因为都是线上参与,所以时间上并不赶,我只需要坐在家里等活动开始就行了。等待的时间一时兴起,突然想写一篇原创,聊一聊我自己在写 Android 权限请求代码时的一些技术心得。正如这篇文章标题所描述的一样,在 Android... ...查看全部
0
评论

Compose Text简单使用 Compose Text

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

Text控件的相关API说明 Compose中的Text就等价于Android原生中的TextView,API也比较简单: fun Text( text: String, // 文字内容,可以直接传递字符串,也可以使用stringResource(... ...查看全部