注册
环信即时通讯云

环信即时通讯云

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

环信开发文档

环信FAQ

环信FAQ

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

RTE开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Cocoapods原理总结 iOS开发

zuyu 发表了文章 • 961 次浏览 • 2021-06-23 14:59 • 来自相关话题

CocoaPods是IOS项目的依赖管理工具,类似于Android的gradle,不过gradle不仅有依赖管理功能,还能负责构建。CocoaPods只负责管理依赖,即对第三方库的依赖,像gradle一样支持传递依赖,即如果A依赖于B,B依赖C,我们在A工程里... ...查看全部
0
评论

深入理解 CocoaPods iOS开发

zuyu 发表了文章 • 722 次浏览 • 2021-06-23 14:57 • 来自相关话题

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。CocoaPods 背... ...查看全部
0
评论

iOS app的编译过程 iOS开发

zuyu 发表了文章 • 748 次浏览 • 2021-06-23 14:55 • 来自相关话题

iOS app的编译过程在 iOS 开发的过程中,Xcode 为我们提供了非常完善的编译能力,正常情况下,我们只需要 Command + R 就可以将应用运行到设备上,即使打包也是一个相对愉快的过程。但正如我们写代码无法避开 Bug 一样,项目在编译的时候也会... ...查看全部
0
评论

iOS Crash分析中的Signal iOS开发

zuyu 发表了文章 • 851 次浏览 • 2021-06-23 14:51 • 来自相关话题

下面是一些信号说明SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的... ...查看全部
0
评论

Swift 反射,揭开面纱 iOS开发

zuyu 发表了文章 • 1018 次浏览 • 2021-06-23 14:47 • 来自相关话题

与iOS Runtime不一样,Swift的反射用了另一套API,实现机制也完全不一样1. iOS Runtime其实基于Objc的Runtime是iOS开发的黑魔法,比如神奇的Method Swizzle可以交换任何iOS的系统方法, 再比如消息转发机制,又... ...查看全部
0
评论

新时代iOS开发学习路线,预测未来不被淘汰 iOS开发

zuyu 发表了文章 • 1510 次浏览 • 2021-06-23 14:45 • 来自相关话题

前言这里是大鑫,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,利用网络记录下自己的学习历程。本文阅读建议 1.一定要辩证的看待本文. 2.本文主要是本人对iOS开发经验中总结的知识点 3.本文所有观点仅代... ...查看全部
0
评论

Android转场动画的前世今生 动画 Android

柳天明 发表了文章 • 1697 次浏览 • 2021-06-23 11:34 • 来自相关话题

前一段时间做图片查看器的升级时,在打开图片查看器的时,找不到好的过渡方式。医生推荐了Android最新的Material Motion动画,虽然最终没有给我们的App安排,但给我学习Material Motion动画提供了一次契机。推荐给大家的学习资料:什么是... ...查看全部
0
评论

Android判断Activity是否在AndroidManifest.xml里面注册(源码分析) AndroidManifest

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

Android判断Activity是否在AndroidManifest.xml里面注册(源码分析) 这个问题相信大家在实际的开发中,都遇到过这个问题,答案就不用说了,在AndroidManifest.xml中添加Activity的注册,毕竟Activity... ...查看全部
0
评论

美团面试题:JVM的年轻代是怎么设计的? 面试

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

1、JVM中的堆,一般分为三个部分,新生代、老年代和永久代。这个是你第一天学JVM就知道的。但你可以先想想,为什么需要把堆分代?不分代不能完成他所做的事情么? 2、是这样,如果没有分代,那我们所有的对象都在一块,GC 的时候就要先找到哪些对象没用,怎么找呢... ...查看全部
0
评论

Android:OkHttp的理解和使用 okhttp

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

OkHttp的理解和使用 1、什么是OkHttp 1、网络请求发展 历史上Http请求库优缺点 HttpURLConnection—>Apache HTTP Client—>Volley—->okHttp 2、项目开源... ...查看全部
0
评论

LeakCanary原理分析 leakCanary Android

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

LeakCanary 是一个很好用的Android内存泄露检测工具,今天从源码角度分析下其检测内存泄露的原理,不同版本 源码 会有一定差异,这里参考的是2.7版本。1. Reference简介Java中的四种引用类型,我们先简单复习下强引用,对象有强引用时不能... ...查看全部
0
评论

Android即时通讯系列文章(1)多进程:为什么要把消息服务拆分到一个独立的进程? IM Android

柳天明 发表了文章 • 955 次浏览 • 2021-06-22 14:54 • 来自相关话题

这是即时通讯系列文章的第一篇,正式开始对IM开发技术的讲解之前,我们先来谈谈客户端在完整聊天系统中所扮演的角色,为此,我们必须先明确客户端的职责。现今主流的IM应用几乎都是采用服务器中转的方式来进行消息传输的,为的是更好地支持离线、群组等业务。在这种模式下,所... ...查看全部
0
评论

Jetpack太香了,系统App也想用,怎么办? rom jetpack

柳天明 发表了文章 • 1646 次浏览 • 2021-06-22 14:53 • 来自相关话题

第三方App使用Jetpack等开源框架非常流行,在Gradle文件简单指定即可。然而ROM内置的系统App在源码环境下进行开发,与第三方App脱节严重,采用开源框架的情况并不常见。但如果系统App也集成了Jetpack或第三方框架,开发效率则会大大提高。前言... ...查看全部
0
评论

探究Android View绘制流程 自定义View Android

柳天明 发表了文章 • 795 次浏览 • 2021-06-22 14:52 • 来自相关话题

1.简介在开发中,我们经常会遇到各种各样的View,这些View有的是系统提供的,有的是我们自定义的View,可见View在开发中的重要性,那么了解Android View的绘制流程对于我们更好地理解View的工作原理和自定义View相当有益,本文将依据And... ...查看全部
0
评论

Android或前端开发中--不得不说的登录、授权(Cookie、Authorization) 验证 Android

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

Cookie起源:购物车他的起源比较早,那个时候还不是IE,更不是现在的Chrome,是更早的Netscape(网景)那个时候浏览器的开发者、开发浏览器的公司也会去帮别人开发网站。当时是是什么情况?有个电商网站希望有购物车这个功能。(购物车现在都是怎么做?不管... ...查看全部
0
评论

Kotlin 源码 | 降低代码复杂度的法宝 kotlin Android

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

随着码龄增大,渐渐意识到团队代码中的最大的敌人是“复杂度”。不合理的复杂度是降低代码质量,增加沟通成本的元凶。Kotlin 在降低代码复杂度方面有着诸多法宝。这一篇就以两个常见的业务场景来剖析下简单和复杂的关系。若要用一句话概括这关系,我最喜欢这一句:“一切简... ...查看全部
0
评论

Android内存优化工具 内存优化 Android

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

整理下Android内存优化常用的几种工具,top命令、adb shell dumpsys meminfo、Memory Profiler、LeakCanary、MAT1. toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用... ...查看全部
0
评论

Android字体系列 (四):全局替换字体方式 字体

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

前言 很高兴遇见你~ 在本系列的上一篇文章中,我们了解了 Xml 中的字体,还没有看过上一篇文章的朋友,建议先去阅读Android字体系列 (三):Xml中的字体,有了前面的基础,接下来我们就看下 Android 中全局替换字体的几种方式 注意:本文所展... ...查看全部
0
评论

Android字体系列 (三):Xml中的字体 字体

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

前言 很高兴遇见你~ 在本系列的上一篇文章中,我们对 Typeface 进行了深入的解析,还没有看过上一篇文章的朋友,建议先去阅读 Android字体系列(二):Typeface完全解析。接下来我们看下 Google 推出的 Xml 中使用字体 ... ...查看全部
0
评论

Android字体系列(二):Typeface完全解析 字体

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

前言 很高兴遇见你~ 在本系列的上一篇文章中,我们介绍了关于 Android 字体的一些基础知识,还没有看过上一篇文章的朋友,建议先去阅读 Android字体系列 (一):Android字体基础,你会发现,我们设置的那三个属性最终都会去构建一个 ... ...查看全部
0
评论

Android字体系列 (一):Android字体基础 字体

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

前言 很高兴遇见你~ 最近接到一个需求,大致内容是:全局替换当前项目中的默认字体,并引入 UI 设计师提供的一些新字体。于是对字体做了些研究,把自己的一些心得分享给大家。 注意:本文所展示的系统源码都是基于Android-30 ,并提取核心部分进行分析 ... ...查看全部
0
评论

【Kotlin篇】差异化分析,let,run,with,apply及also kotlin

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

作用域函数是Kotlin比较重要的一个特性,共分为以下5种:let、run、with、apply 以及 also,这五个函数的工作方式可以说非常相似,但是我们需要了解的是这5种函数的差异,以便在不同的场景更好的利用它。 读完这篇文章您将了解到: 什么是... ...查看全部
0
评论

网易换肤第二篇:本地换肤实现! 换肤

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

完整脑图:https://note.youdao.com/s/V2csJmYS Demo源码:点击下载 技术分析 我们在换肤的第一篇介绍了换肤的核心思想。就是在setContentView()之前调用setFactory2()。 第一篇的Demo利... ...查看全部
0
评论

网易换肤第一篇:换肤技术解密! 换肤

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

参考 脑图:https://note.youdao.com/s/Q1e6r39j 最终效果: Demo源码:点击跳转 技术点分析 换肤的核心思路主要是在setContentView()之前调用setFactory2()来收集控件属性,然后在F... ...查看全部
0
评论

带着问题学,协程到底是什么? 协程

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

前言 随着kotlin在Android开发领域越来越火,协程在各个项目中的应用也逐渐变得广泛 但是协程到底是什么呢? 协程其实是个古老的概念,已经非常成熟了,但大家对它的概念一直存在各种疑问,众说纷纷 有人说协程是轻量级的线程,也有人说kotlin协程其... ...查看全部
0
评论

Android 注解知多少 Android 注解

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

注解的概念什么是注解?注解又称为标注,用于为代码提供元数据。 作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。可以作用在类、方法、变量、参数和包等上。 你可以通俗的理解成“标签”,这个标签可以标记类、方法、变量、参数和包。什... ...查看全部
0
评论

手把手带你走一遍Compose重组流程 jetpack compose

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

前言我们都知道 Jetpack Compose 是一套声明式 UI 系统,当 UI 组件所依赖的状态发生改变时会自动发生重绘刷新,这个过程被官方称作重组,前面已经有人总结过 Compose 的重组范围了,文章详见 《Compose 的重组会影响性能吗?聊一聊 ... ...查看全部
0
评论

偷师 - Kotlin 委托 委托、代理 kotlin

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

关键字synchorinzedCAS委托/代理模式委托要理解 kotlin-委托 的作用和用法首先要理解什么是委托。初看委托二字如果不太理解的话不妨转换成代理二字。委托模式和代理模式是一种设计模式的两种称呼而已。委托/代理模式代理模式,字面... ...查看全部
0
评论

Flutter IM跨端架构设计和实现 IM Flutter

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

作者:闲鱼技术——祈晴1. 闲鱼IM现状闲鱼IM框架构建于2016-2017年,期间多次迭代升级导致历史包袱累积多,后经IM界面Flutter化,造成架构更复杂,开发层面总结闲鱼当前架构主要存在如下几个问题:•研发效率较低:当前架构开发需求涉及到Android... ...查看全部
0
评论

Jetpack—架构组件—App Startup jetpack Android

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

App Startup介绍作用这是官网的截图,大意就是 App Startup 是一种用来在 app 启动时候规范初始化数据的 library。同时使用 App Startup 可以解决我们平时滥用 ContentProvider 导致的启动变慢问题。还有一点... ...查看全部
0
评论

SpannableStringBuiler封装Kotlin SpannableStringBuiler kotlin Android

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

前言SpannableStringBuilder和SpannableString功能基本一样,不过SpannableStringBuilder可以拼接,主要是通过setSpan来实现各种效果,主要的方法如下:start: 指定Span的开始位置 end: 指定... ...查看全部
0
评论

APP路由框架与组件化简析 组件化

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

前端开发经常遇到一个词:路由,在Android APP开发中,路由还经常和组件化开发强关联在一起,那么到底什么是路由,一个路由框架到底应该具备什么功能,实现原理是什么样的?路由是否是APP的强需求呢?与组件化到底什么关系,本文就简单分析下如上几个问题。 路由... ...查看全部
0
评论

浅谈Android插件化 插件化

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

一、认识插件化 1.1 插件化起源 插件化技术最初源于免安装运行 Apk的想法,这个免安装的 Apk 就可以理解为插件,而支持插件的 app 我们一般叫 宿主。 想必大家都知道,在 Android 系统中,应用是以 Apk 的形式存在的,应用都需要安装才... ...查看全部
0
评论

二阶贝塞尔仿微信扔炸弹动画 动画

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

前言 新出来的微信炸屎动画很多人都玩过了,所以先仿照一个微信扔炸弹的动画,在后续有时间会做一个完整的,效果如下: 具体实现 其中最麻烦的就是绘制抛物线了,爆炸的效果只是播放了一个动画,另外微信貌似都是通过代码绘制的,可能不是动画,奈何没有人家那技术,... ...查看全部
0
评论

Android App唤醒丶保活详解 , 以及代码展示 保活

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

安卓进程进程保活分为: 黑色保活,白色保活,灰色保活 黑色保活: 可以说黑色保活,可以通过网络切换,拍照,拍视频,开机,利用系统产生的广播唤醒app,接入三方的sdk也会唤醒一些app,如支付宝,微信..........这样的话,这样的话,不敢想象系统存... ...查看全部
0
评论

iOS - Block 准备面试必须了解的东西 iOS面试题 iOS开发

zuyu 发表了文章 • 999 次浏览 • 2021-06-16 14:36 • 来自相关话题

一.Block的本质        block本质是一个OC对象,它里面有个isa指针,封装了函数调用环境的OC对象,封装了函数调用上下文的OC对象。查看Block源码:struct __block_impl {    void*isa;    int Fla... ...查看全部
0
评论

iOS - Metal的认识 iOS开发

zuyu 发表了文章 • 1255 次浏览 • 2021-06-16 14:33 • 来自相关话题

一.Metal 简介        在 WWDC 2014 上,Apple为游戏开发者推出了新的平台技术 Metal,该技术能够为 3D 图像提高 10 倍的渲... ...查看全部
0
评论

iOS KVO底层原理&&KVO的isa指向 iOS开发

zuyu 发表了文章 • 844 次浏览 • 2021-06-16 14:29 • 来自相关话题

一.简单复习一下KVO的使用定义一个类,继承自NSObject,并添加一个name的属性#import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface TCPerson ... ...查看全部
0
评论

View系列:事件分发(一) 事件分发 Android

柳天明 发表了文章 • 1137 次浏览 • 2021-06-16 14:18 • 来自相关话题

基础相关View坐标系MotionEvent当用户触摸屏幕的时候,产生Touch事件,事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象事件类型具体动作MotionEvent.ACTION_DOWN按下View(所有事件的开始)Moti... ...查看全部
0
评论

View系列:动画 动画 Android

柳天明 发表了文章 • 946 次浏览 • 2021-06-16 14:15 • 来自相关话题

View Animation(视图动画)最大的特点是:并没有改变目标实际的属性(宽高/位置等)。例如:移动后,点击原来的位置出发点击事件;移动后再旋转,还是回到原来的位置旋转。Tween Animation(补间动画)锚点可以是数值、百分数、百分数p三种样式,... ...查看全部
0
评论

「Java 路线」| 关于泛型能问的都在这里了(含Kotlin) 泛型

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

前言 泛型(Generic Type) 无论在哪一门语言里,都是最难语法的存在,细节之繁杂、理解之困难,令人切齿; 在这个系列里,我将总结Java & Kotlin中泛型的知识点,带你从 语法 & 原理 全面理解泛型。追求简单易懂又... ...查看全部
0
评论

「Java 路线」| 反射机制(含 Kotlin) 反射

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

前言 反射(Reflection)是一种在运行时 动态访问类型信息 的机制。 在这篇文章里,我将带你梳理Java & Kotlin反射的使用攻略,追求简单易懂又不失深度,如果能帮上忙,请务必点赞加关注! 目录 1. 类型系统... ...查看全部
0
评论

Java | JDK 动态代理的原理其实很简单 动态代理

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

前言 代理模式(Proxy Pattern)也称委托模式(Delegate Pattern),是一种结构型设计模式,也是一项基础设计技巧; 其中,动态代理有很多有意思的应用场景,比如 AOP、日志框架、全局性异常处理、事务处理等。这篇文章,我们主要... ...查看全部
0
评论

这一次,彻底搞懂SparseArray实现原理 SparseArray

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

最近在整理SparseArray这一知识点的时候,发现网上大多数SparseArray原理分析的文章都存在很多问题(可以说很多作者并没有读懂SparseArray的源码),也正因此,才有了这篇文章。我们知道,SparseArray与ArrayMap是Andro... ...查看全部
0
评论

iOS 音视频编解码----H264-I(关键)帧,B/P(参考)帧 iOS开发

zuyu 发表了文章 • 942 次浏览 • 2021-06-16 11:44 • 来自相关话题

内容元素1.图像(image)2.音频(Audio)3.元素信息(Meta-data)编码格式1.Video:H2642.Audio:AAC3.容器封装:MP4/MOV/FLV/RM/RMVB/AVIH264当我们需要对发送的视频文件进行编码时,只要是H264... ...查看全部
0
评论

OpenGLES/(GLKit/CoreAnimation正方体的渲染+旋转) iOS开发

zuyu 发表了文章 • 1193 次浏览 • 2021-06-15 16:28 • 来自相关话题

一.Hello--OpenGLES                 OpenGL可用于渲染... ...查看全部
0
评论

OpenGl纹理相关常用API iOS开发

zuyu 发表了文章 • 938 次浏览 • 2021-06-15 16:26 • 来自相关话题

一.原始图像数据1.像素包装:                    图像存储空间=图像的宽度*图像的高度*每个像素的字节数二.相关函数(加粗部分表示常用)2.... ...查看全部
0
评论

iOS---webView相关及原生和web的交互 iOS开发

zuyu 发表了文章 • 1216 次浏览 • 2021-06-15 16:20 • 来自相关话题

webView的基本应用,监听加载进度,返回上一页,异常处理web调用原生:处理跳转到指定的原生页面,拦截跳转其他app,添加app白名单,拦截通用链接跳转,js注入,关闭webView原生调用web:获取webView的标题等web原生互相调用:web获取a... ...查看全部
0
评论

iOS开发宏定义整理 iOS开发

zuyu 发表了文章 • 798 次浏览 • 2021-06-15 16:13 • 来自相关话题

宏定义今天整理一些自己的项目里零零碎碎的东西,发现有些东西太杂太乱,就是定义的全局.这里一个宏,那边一个#define,发现这东西会左右引用,很影响性能下面分开介绍各种宏:Macros.h这里面就放各各宏的头文件,然后在PCH文件中引用着这个一个头文件就OK#... ...查看全部
0
评论

iOS开发必备 - iOS 的锁 iOS开发

zuyu 发表了文章 • 753 次浏览 • 2021-06-15 16:11 • 来自相关话题

这次主要想解决这些疑问:锁是什么?为什么要有锁?锁的分类问题为什么 OSSpinLock 不安全?解决自旋锁不安全问题有几种方式为什么换用其它的锁,可以解决 OSSpinLock 的问题?自旋锁和互斥锁的关系是平行对立的吗?信号量和互斥量的关系信号量和条件变量... ...查看全部