环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

无需下载,注册即用
环信机器人

环信机器人

智能,高效
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Android面试:80%的面试官关于Glide都会问这几个问题!【建议收藏】 Android

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

Glide的三级缓存有了解过么? 先来了解一下我们常说的图片三级缓存 一般是强引用,软引用和文件系统,Android系统中提供了LruCache,通过维护一个LinkedHashMap来保存我们需要的各种类型数据,例如我们这里需要的Bitmap。Lr... ...查看全部
0
评论

做了这么多年开发,TypedArray你该知道的东西 Android

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

大家好,我是程序员双木L,后续会发专题类的文章,这是自定义控件的第一篇,之后也会陆续更新相关的文章,欢迎关注。 自定义属性在自定义控件过程中属于比较常见的操作,我们可以回想一下这样的场景:自定义view的过程中,我们需要在不同的情况下设置不同的文字大小,那么... ...查看全部
0
评论

想要进阶高级开发?快看画布的基础使用 Android

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

【Android 自定义控件】2.画布的基础使用 1.设置画布的背景颜色 2.画圆形 基本语法 参数说明 3.画直线 单条直线: 基本语法 ... ...查看全部
0
评论

40+场面试,100%通过率,我想分享的14条经验 面试

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

作者 | 陈同学       责编 | 欧阳姝黎 这里是陈同学,首先来一个简单的自我介绍,和个人的经历分享吧。 我本科和硕士均就读于哈工大,是今年1月毕业。 我经历过3个专业,大一 船舶工程;大二-大四 车辆... ...查看全部
0
评论

震惊:从头开发一个RPC是种怎样的体验? RPC

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

对于开发人员来说,调用远程服务就像是调用本地服务一样便捷。尤其是在微服务盛行的今天,了解RPC的原理过程是十分有必要的。 作者 | Alex Ellis       译者 | 弯月 出品 | CSDN(ID:CS... ...查看全部
0
评论

Google和腾讯为什么都采用主干开发模式? google

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

作者 | 黄国峰       责编 | 欧阳姝黎 摘要 本文介绍了两种常用的代码分支模式:特性分支开发模式、主干开发模式,分别阐述了其优缺点和适用环境;同时剖析了 Google 和腾讯采用主干开发模式的背景... ...查看全部
0
评论

我不是个黑客,但我就喜欢安全。快看如何开拓你的开发价值!! 逆向 Android

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

安卓逆向4-使用AndroidKiller插入广告页文章目录 任务要求 1.安装配置AndroidKiller 2.反编译和拷贝替换 3.反编译 任务要求 利用Androidki... ...查看全部
0
评论

快来为你的照片添加个性标签吧! Android

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

1. 前言 PS:最近在项目执行过程中有这样一个需求,要求拍完照的图片必须达到以上的效果。需求分析: 使用用预览布局SurfaceView,在不局上方使用控件的方式来进行设计,最后通过截图的方式将画面进行保存。 使用图片添加水印的方式来完成。 ... ...查看全部
0
评论

Fragment问世这么久,你真的会用吗? fragment Android

柳天明 发表了文章 • 19 次浏览 • 2021-05-10 17:23 • 来自相关话题

Fragment的简单用法 在一个Activity中添加两个Fragmet,并让这两个Fragment平分屏幕空间 首先新建一个左侧Fragmet布局left_fragment_xml,这里只放置一个按钮 <?xml version="1.0" enco... ...查看全部
0
评论

iOS-TCP网络框架(二) iOS开发

zuyu 发表了文章 • 26 次浏览 • 2021-05-09 09:47 • 来自相关话题

现在我们已经有了TCP连接, Request, Response和Task, 接下来要做的就是把这一切串起来. 具体来说, 我们需要一个管理方建立并管理TCP连接, 提供接口让调用方通过Request向连接中写入数据, 监听连接中读取到的粘包数据并将数据拆分成... ...查看全部
0
评论

iOS-TCP网络框架(一) iOS开发

zuyu 发表了文章 • 27 次浏览 • 2021-05-09 09:45 • 来自相关话题

TCP概述TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义. 在因特网协议族中,TCP属于传输层, 位于网络层之上,应用层之下.需要注意的是, TCP只是协议声明, 仅对外声明协议提供的功能, 但本身并不进行任何实现. ... ...查看全部
0
评论

drawable用Kotlin应该这样写 kotlin Android

柳天明 发表了文章 • 27 次浏览 • 2021-05-08 14:23 • 来自相关话题

Kotlin应该这样写系列 SharedPreferences用Kotlin应该这样写 Glide用Kotlin应该这样封装(一) Glide用Kotlin应该这样封装(二) 前言 通常我们在res/drawable下面自定义shape和selector来满足... ...查看全部
0
评论

Kotlin 高效解析数学表达式(支持函数) kotlin Android

柳天明 发表了文章 • 23 次浏览 • 2021-05-08 14:22 • 来自相关话题

需求 由于项目需求,需要在低性能设备高频率地解析计算数学表达式,所以重量级的比如词法分析,语法分析,抽象语法树🌲三件套就不太合适了。(当然也不是不行,只是有点大材小用,而个人能力又有限,对于ANTLR调优之类不太擅长) 说起数学公式解析,当然离不开老朋友逆波兰... ...查看全部
0
评论

Compose Preview 的 UX 设计之旅 compose Android

柳天明 发表了文章 • 30 次浏览 • 2021-05-08 14:17 • 来自相关话题

本文由来自 Android Developer UX 团队的 Preethi Srinivas (UX 研究员) 和 Paris Hsu (交互设计师) 所撰写。 Jetpack Compose 刚刚进入 测试阶段 啦!🎉 在此激动人心的时刻,Android ... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (八) iOS开发

zuyu 发表了文章 • 38 次浏览 • 2021-05-08 11:22 • 来自相关话题

Connect流程,用一张图来概括总结一下吧:socketchildSocketFD = accept(parentSocketFD, (struct sockaddr *)&addr, &addrLen); 然后调用了newSocketQue... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (七) iOS开发

zuyu 发表了文章 • 36 次浏览 • 2021-05-08 11:18 • 来自相关话题

addStreamsToRunLoop这里方法做了两件事:CFStream读写回调的常驻线程,其中调用了好几个函数: + (void)startCFStreamThreadIfNeeded; + (void)cfstreamThread; 在这两个函数中,添... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (六) iOS开发

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

本文方法十一 -- 连接成功后的初始化原因是为了线程安全和socket相关的操作必须在queue中被回调。这个方法基本上很简单,就是关于两个stream函数的调用:这个函数创建了一对读写stream,并且把stream与这个scoket做了绑定。相信用过的朋友... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (五) iOS开发

zuyu 发表了文章 • 32 次浏览 • 2021-05-08 11:09 • 来自相关话题

上文我们提到了GCDAsyncSocket的初始化,以及最终connect之前的准备工作,包括一些错误检查;本机地址创建以及socket创建;服务端地址的创建;还有一些本机socket可选项的配置,例如禁止网络出错导致进程关闭的信号等我们去用之前创建的本机地址... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (四) iOS开发

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

//根据host、port + (NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr { LogTrace(); ... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (三) iOS开发

zuyu 发表了文章 • 33 次浏览 • 2021-05-08 11:04 • 来自相关话题

interface本文方法四--本地地址绑定方法- (void)getInterfaceAddress4:(NSMutableData **)interfaceAddr4Ptr address6:(NSMutableDa... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (二) iOS开发

zuyu 发表了文章 • 41 次浏览 • 2021-05-08 10:57 • 来自相关话题

connect也就是我们在截图中选中的方法,那我们就从这个方法作为起点,开始讲起吧。保证这个连接操作一定是在我们的接着把Block中连接过程产生的错误进行赋值,并且把连接的结果返回出去//如果有错误,赋值错误 if (errPtr) *errPtr =... ...查看全部
0
评论

CocoaAsyncSocket源码分析---Connect (一) iOS开发

zuyu 发表了文章 • 39 次浏览 • 2021-05-08 10:51 • 来自相关话题

CocoaAsyncSocket是谷歌的开发者,基于BSD-Socket写的一个IM框架,它给Mac和iOS提供了易于使用的、强大的异步套接字库,向上封装出简单易用OC接口。省去了我们面向Socket以及数据流Stream等繁琐复杂的编程。本文为一个系列,旨在... ...查看全部
0
评论

汉字笔顺动画技术剖析 Android

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

背景 汉字笔顺动画是常见的语文教育需求,我们导入网上开源的 Hanzi Writter 并部署编辑器,应用在大力智能作业灯上。在原版前端实现基础上我们扩展了 Android 和 iOS 端实现,提供更优化的笔顺动画性能。增强对笔顺绘制的控制能力,实现了指定笔... ...查看全部
0
评论

从一个10年程序员的角度告诉你:搞懂Java面向对象有多容易? Android Java

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

前言: 1)java 面向对象语言,面向过程围绕过程(解决问题步骤),面向对象围绕实体(名词,特性(属性),行为(动作、方法))。它们设计思想区别在于关心核心不同的。 主流都是面向对象的。 实际开发,先按面向对象思想进行设计,具体实现时面向过程(人... ...查看全部
0
评论

不懂泛型,怎么装逼,一文把泛型说的明明白白,安排!!! Android Java

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

目录 前言 1、泛型的概念 2、泛型的使用 3、泛型原理,泛型擦除 3.1 IDEA 查看字节码 3.2 泛型擦除原理 4、?和 T 的区别 5、super extends 6、注意点 1、静态方法无法访问类的泛型 2、创建之后无法修改类... ...查看全部
1
评论

程序员五一被拉去相亲,结果彻底搞懂了HTTP常用状态码 Java

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

我有一个朋友…… 叫小星,是个北漂程序员。 小星年纪不小了,还是个单身狗。家里很着急,小星也很着急。 可是,小星起身一看,眼前一闪闪闪闪闪闪闪闪闪…… ——全是秃头抠脚大汉…… 前一阵子好不容易来个实习生小姑娘,分给小星带,小星高兴坏了,结果姑娘... ...查看全部
0
评论

Android开发基础之控件CheckBox Android

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

目录 一、基础属性 二、自定义样式 1、去掉CheckBox的勾选框 2、自定义背景颜色 3、自定义勾选框的背景图片 三、监听事件       &nb... ...查看全部
1
评论

Android自定义弧型View Android

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

好久没动手玩View自定义,有点生疏了。效果如下 思路很简单,onDraw绘制弧线、绘制Text canvas.drawArc(oval, startAngle, sweepAngle, false, paint); canvas.drawText... ...查看全部
0
评论

音视频开发必备基础知识点整理 IM

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

日常工作中都会接触到音视频的开发,比如目前工作中都会涉及到 TSPlayer、IjkPlayer、MediaPlayer 提供播放能力,不管是什么 Player,其上层调用都是大同小异,但是具体实现以及能够支持的能力各不相同,要想继续深入就必须深入音视频的学习... ...查看全部
0
评论

【JavaWeb】关于WebSocket的IM在线聊天技术 IM

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

最近在弄IM的在线聊天,发现layim又停摆了,所以下决心看看以前学的socket技术,这次的想法是不用swing,使用javaweb的jsp实现在线聊天。 我计划的大致实现步骤分这样几大步: 1、首先实现简单的demo。 2、然后结合线程,实现多客户端连接... ...查看全部
0
评论

Android移动端IM开发之应用层实现TCP长连接多路复用 IM

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

这里只是提供一个长连接多路复用的实现思路 什么是长连接多路复用 从字面意思看就是一台设备只有一条长连接连向服务器,其他集成这个IM SDK的app都会共享这条长连接,TCP长连接的维护是比较耗资源的,而且也会增加耗电,所以实现长连接共享就表示在一定程度... ...查看全部
0
评论

Android中开发IM即时通讯功能的方案 IM

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

最近准备做IM功能,在技术预研当中,其实可行方案还是比较多的,就看怎么选了这里有必要普及一下xmpp是个什么东西?引用某娘的定义:      XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性... ...查看全部
0
评论

IM开发干货分享:我是如何解决大量离线消息导致客户端卡顿的 IM

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

1、引言 好久没写技术文章了,今天这篇不是原理性文章,而是为大家分享一下由笔者主导开发实施的IM即时通讯聊天系统,针对大量离线消息(包括消息漫游)导致的用户体验问题的升级改造全过程。 文章中,我将从如下几个方面进行介绍: 1)这款IM产品的主要业务及... ...查看全部
0
评论

自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM(有源码) IM

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

本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者。 1、写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间。今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心... ...查看全部
0
评论

从零开始开发IM(即时通讯)服务端 IM

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

精选:★→2020年最新的常问企业面试题大全以及答案 作者:yuanrw 原文地址 https://juejin.im/post/5d6b3949f265da03c34c13e5 好消息:IM1.0.0 版本已经上线啦,支持特性: ... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(4) IM Android

柳天明 发表了文章 • 38 次浏览 • 2021-05-07 15:54 • 来自相关话题

调试 我们先来看看连接及重连部分(由于录制gif比较麻烦,体积较大,所以我先把重连间隔调小成3秒,方便看效果)。 启动服务端: 启动客户端: 可以看到,正常的情况下已经连接成功了,接下来,我们来试一下异常情况,比如服务端没启动,看看客户端的重连情况: 这... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(3) IM Android

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

TCP的拆包与粘包 什么是TCP拆包?为什么会出现TCP拆包? 简单地说,我们都知道TCP是以“流”的形式进行数据传输的,而且TCP为提高性能,发送端会将需要发送的数据刷入缓冲区,等待缓冲区满了之后,再将缓冲区中的数据发送给接收方,同理,接收方也会有缓冲区... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(2) IM Android

柳天明 发表了文章 • 32 次浏览 • 2021-05-07 15:47 • 来自相关话题

封装 为什么需要封装呢?说白了,就是为了解耦,为了方便日后切换到不同框架实现,而无需到处修改调用的地方。举个栗子,比如Android早期比较流行的图片加载框架是Universal ImageLoader,后期因为某些原因,原作者停止了维护该项目,目前比较流行的... ...查看全部
0
评论

开源一个自用的Android IM库,基于Netty+TCP+Protobuf实现(1) IM Android

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

写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间。今天终于从公司离职了,打算好好休息几天再重新找工作,趁时间空闲,决定静下心来写一篇文章,毕竟从前辈那里学到了很多东西。工作了五年半,这三四年来一直在做社交相关的项目,有 直播、 即时... ...查看全部
0
评论

一个小型合作的流水线——Android Handler handler Android

柳天明 发表了文章 • 82 次浏览 • 2021-05-07 15:44 • 来自相关话题

当我们遇到多线程的问题,考虑到线程间消息传递的时候,首先想到的肯定是 Handler。虽然写这篇文章的初衷并不是想探究 Handler 的机制,但我们还是先从这个被说烂了的话题开始。 Handler 的工作原理 首先,在了解 Handler 之前,我们需要了解... ...查看全部
0
评论

Jetpack Compose 初体验(二) jetpack Android

柳天明 发表了文章 • 35 次浏览 • 2021-05-07 15:42 • 来自相关话题

Jetpack Compose 初体验(一)二、主题 基本布局已经差不多啦,那么我们再来搞一些共性的东西,就像我们黄种人都有一样的肤色——散在土地里的黄,有种顽强,非常东方…… 以前的 View 系统其实也有关于 theme 的定义,那些被定义的 style,... ...查看全部
0
评论

Jetpack Compose 初体验(一) jetpack Android

柳天明 发表了文章 • 38 次浏览 • 2021-05-07 15:41 • 来自相关话题

你是否受够了 Android 中 UI 编写的体验——在 xml 文件中编写复杂的层级结构和繁多的属性,动态化的视图逻辑又被分裂到 Activity 中?哦,这该死的友好度和割裂感! 这两年,Flutter 大行其道,不论是网上的讨论度还是实际的落地项目,风头... ...查看全部
0
评论

HashMap原理底层剖析 Java

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

注意以下文章可能有描述和理解上的错误,如果出现错误请到评论区指出,我会第一时间修改问题。也希望文章能解决你的疑惑。 HashMap结构图 HashMap底层数据结构:Entry数组+链表+红黑树(JDK1.8版本) Entry+链表(JDK1.7版本)... ...查看全部
0
评论

自学编程的人,90%以上都会掉进这些坑,避开这些误区能提高N倍学习效率 程序设计

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

前言 几乎每一个程序员都会走上那么一段自学的道路,尤其是在校生或进入工作岗位之后,技术的提升基本都靠自学,有的虽然是网上报班学习,但更多时候还是自己在学习,师傅引进门,修行靠个人。 有的人自学很快,几乎一个多月就能掌握一门技术,而有的人苦苦坚持,最后还是半... ...查看全部
0
评论

Tomcat源码学习第4篇-Servlet请求分析 tomcat Java

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

前段时间家里有事忙,停更了好长一段时间,这里跟等待更新的小伙伴们说一声抱歉,没能提前说明一下,让小伙伴们等了这么久,真的不好意思! 前面说完了Tomcat的初始化和启动步骤,那么接下来就要进入重头戏了!在本篇文章中,我会跟前面一样,通过图文的方式来带着小... ...查看全部
0
评论

7大程序设计原则 程序设计

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

编程的工作既是技术活,也是体力活,而编写优秀的软件,更是一件比较难的事情。 初级程序员只希望代码不出错,顶级程序员却把写代码当成艺术,当年雷军以过人的能力成为求伯君的左膀右臂,其早年的代码被说成“像诗一样优美”。 很多大牛,在着手写代码时并不是直接上手... ...查看全部
0
评论

Android界面左右滑动切换 Android

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

Android 界面左右滑动切换 1.界面布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://... ...查看全部
0
评论

乐观锁VS悲观锁 Android

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

乐观锁 VS 悲观锁 悲观锁:总是假设最坏的情况,每次取数据时都认为其他线程会修改,所以都会加锁(读锁、写锁、行锁等),当其他线程想要访问数据时,都需要阻塞挂起。 乐观锁:总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此... ...查看全部
1
评论

面试官:说说什么是Java内存模型(JMM)? Android

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

1. 为什么要有内存模型? 1.1. 硬件内存架构 1.2. 缓存一致性问题 1.3. 处理器优化和指令重排序 2. 并发编程的问题 3. Java 内存模型 3.1. Java 运行时内存区域与硬件内存的关... ...查看全部
0
评论

TIOBE5月编程语言榜单:Python超越Java重回第二,Rust崛起 Android

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

作者 | 苏宓 出品 | CSDN(ID:CSDNnews) TIOBE 官方最新发布了 5 月的编程语言榜单,不妨一起来看一下本月榜单中又有哪些最新的变化呢? Python 重回第二 和 4 月相比,本月榜单的 TOP 10 ... ...查看全部