环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

无需下载,注册即用
声网开发者社区

声网开发者社区

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

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

Android 组件话代码中心化问题之.api化方案 组件化

技术精选柳天明 发表了文章 • 8 次浏览 • 2021-07-30 17:05 • 来自相关话题

一、代码中心化问题将一个大型的项目拆分成多个Module或者新开的组件化项目,想要的预期是这些module之间是平级的关系.这样一来就可以使得业务相对集中,每个人都可以专注在一件事上。同时,代码的耦合度也会随之降低,达到高度解耦状态,因为同级的module不存... ...查看全部
0
评论

OC与JS交互之WKWebView iOS开发

技术精选zuyu 发表了文章 • 5 次浏览 • 2021-07-30 15:52 • 来自相关话题

阅读目录一、WKWebView Framework二、WKWebView中的三个代理方法三、使用WKWebView重写四、后记WKWebView的14个类与3个协议:WKBackForwardList: 之前访问过的 web 页面的列表,可以通过后退和前进动作... ...查看全部
0
评论

iOS开发要了解的UIResponder iOS开发

技术精选zuyu 发表了文章 • 10 次浏览 • 2021-07-30 11:05 • 来自相关话题

我们的App与用户进行交互,基本上是依赖于各种各样的触发事件和运动事件。例如,用户点击界面上的按钮,我们需要触发一个按钮点击事件,并进行相应的处理,以给用户一个响应。UIView的三大职责之一就是处理触发事件和运动事件,一个视图是一个事件响应者,可以处理点击等... ...查看全部
0
评论

Runloop一定要记得的面试题 iOS开发

技术精选zuyu 发表了文章 • 11 次浏览 • 2021-07-29 18:04 • 来自相关话题

1.Runloop 和线程的关系?一个线程对应一个 Runloop。主线程的默认就有了 Runloop。子线程的 Runloop 以懒加载的形式创建。Runloop 存储在一个全局的可变字典里,线程是 key ,Runloop 是 value。2.RunLoo... ...查看全部
0
评论

iOS 事件传递和视图响应链 iOS开发

技术精选zuyu 发表了文章 • 17 次浏览 • 2021-07-29 17:58 • 来自相关话题

1、事件的分类multitouch events:所谓的多点触摸事件,即用户触摸屏幕交互产生的事件类型;motion events:所谓的移动事件。是指用户在摇晃、移动和倾斜手机的时候产生的事件称为移动事件。这类事件依赖于iPhone手机里边的加速器,陀螺仪等... ...查看全部
0
评论

UIButton的图文排列 iOS开发

技术精选zuyu 发表了文章 • 14 次浏览 • 2021-07-29 11:35 • 来自相关话题

图文结合通过 setTitle:forState: 和 setImage:forState: 这两个方法设置了 UIButton 的 标题和图片之后,可以通过以下两个属性访问代表 UIBut... ...查看全部
0
评论

UIButton iOS开发

技术精选zuyu 发表了文章 • 11 次浏览 • 2021-07-29 11:35 • 来自相关话题

对象继承关系UIButton 类本身定义继承 UIControl ,描述了在 iOS 上所有用户界面控件的常见基本行为。反过来, UIControl 类继承 UIView ,给在屏幕显示的对象提供常用功能。UIView 继承于 UIResponder,允许它响... ...查看全部
0
评论

UITableView总结 iOS开发

技术精选zuyu 发表了文章 • 14 次浏览 • 2021-07-29 11:20 • 来自相关话题

基本介绍UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped。UITableView中只有行的概念,每一行就是一个UITableViewCell。下图是UITableViewCell内置好... ...查看全部
0
评论

抖音品质建设 - iOS启动优化《原理篇》 iOS开发

技术精选zuyu 发表了文章 • 15 次浏览 • 2021-07-29 10:55 • 来自相关话题

前言启动是 App 给用户的第一印象,启动越慢用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战。本文从基础知识出发,先回顾一些核心概念,为后续章节做铺垫;接下... ...查看全部
0
评论

RxSwift异步事件追踪定位工具 iOS开发

技术精选zuyu 发表了文章 • 14 次浏览 • 2021-07-29 10:46 • 来自相关话题

文章概要:本文主要从分析RxSwift操作符的实现原理入手,然后介绍了Swift反射机制、Swift的函数派发机制及命名空间机制,同时我们设计了一套实现Hook Swift的动态及静态方法的解决方案,希望对广大iOS开发者有所帮助。1. 背景:RxSwift之... ...查看全部
0
评论

Android之使用Assets目录中的xml布局、网页、音乐等资源 资源文件

技术精选王二蛋和他的张大花 发表了文章 • 16 次浏览 • 2021-07-29 10:15 • 来自相关话题

众所周知,Android中Activity加载布局的方式常用的有以下几种: setContentView(View view) setContentView(@LayoutRes int layoutResID) View的加载方式可通过下列方式... ...查看全部
0
评论

RecyclerView GridLayoutManger平分间距问题 GridLayoutManger

技术精选王二蛋和他的张大花 发表了文章 • 14 次浏览 • 2021-07-29 10:09 • 来自相关话题

背景问题 在RecyclerView的网格布局中,我们经常会遇到要给每个Item设置间距的情况,并使用GridLayoutManger,如下图: A(0) ~ A(3)是网格中的一行,要个每个Item设置间距SpaceH,两边分别设置边距为edgeH,... ...查看全部
0
评论

二叉树、平衡二叉树、红黑树

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

树 树是具有“一对多”关系的、非线性存储结构的数据元素的集合。树的最坏时间复杂度是O(n). 二叉树 二叉树是具有特殊性质的树,满足下面两个条件的树就是二叉树: 本身是有序树 树中包含的所有节点的度不能超过2(度是节点包含子树的数量) 二叉树的特殊性质... ...查看全部
0
评论

Android 中使用WebViewJavaScriptBridge进行H5和原生的交互 WebViewJavascriptBridge

技术精选王二蛋和他的张大花 发表了文章 • 15 次浏览 • 2021-07-29 10:03 • 来自相关话题

1. 概述 当我们采用H5与Native原生结合开发,使用H5去开发一些功能的时候,肯定会涉及到Android与Js互相调用的问题,通常有两种实现方式, 第一种 使用原生的addJavascriptInterface()来解决 第二种 使用第三... ...查看全部
0
评论

Android三个流量优化方案 (建议收藏) 优化

技术精选王二蛋和他的张大花 发表了文章 • 16 次浏览 • 2021-07-29 10:01 • 来自相关话题

前言 套餐虽然优惠,流量还是很贵,对用户而言网络流量就是钱呐!用户习惯打开系统自带 APP 流量统计功能,从 APP 的角度,总不希望用户一眼看出自家的 APP 是流量大户,所以有必要花时间知道 APP 的流量怎么流失的。但是系统的流量统计功能只是很粗略的对... ...查看全部
2
评论

iOS大解密:玄之又玄的KVO (下) iOS开发

技术精选zuyu 发表了文章 • 19 次浏览 • 2021-07-28 10:41 • 来自相关话题

首先我们看下 NSSetIntValueAndNotify_block_invoke 的汇编实现:Foundation`___NSSetIntValueAndNotify_block_invoke:->  0x10bf27fe1&nb... ...查看全部
0
评论

iOS大解密:玄之又玄的KVO (上) iOS开发

技术精选zuyu 发表了文章 • 28 次浏览 • 2021-07-28 10:38 • 来自相关话题

导读:大多数 iOS 开发人员对 KVO 的认识只局限于 isa 指针交换这一层,而 KVO 的实现细节却鲜为人知。如果自己也仿照 KVO 基础原理来实现一套类 KVO 操作且独立运行时会发现一切正常,然而一旦你的实现和系统的 KVO 实现同时作用在同一个实例... ...查看全部
0
评论

iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+ iOS开发

技术精选zuyu 发表了文章 • 16 次浏览 • 2021-07-28 10:31 • 来自相关话题

iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+iOS OOM 崩溃在生产环境中的归因一直是困扰业界已久的疑难问题,字节跳动旗下的头条、抖音等产品也面临同样的问题。在字节跳动性能与稳定性保障团队的研发实践中,我们自研了一款基于内存快照技术并且可应用... ...查看全部
0
评论

如何清晰地掌握 Android 应用中后台任务的执行情况? Android 后台

技术精选王二蛋和他的张大花 发表了文章 • 19 次浏览 • 2021-07-28 09:54 • 来自相关话题

Android Studio 包含了许多像 布局检查器 和 数据库检查器 这样的检查器,来帮助您调查并了解应用在运行时的内部状态。在 Android Studio Arctic Fox 中,我们发布了一个新的检查器 (Background Task Inspe... ...查看全部
0
评论

Kotlin 异步 | Flow 限流的应用场景及原理 flow

技术精选王二蛋和他的张大花 发表了文章 • 26 次浏览 • 2021-07-28 09:46 • 来自相关话题

异步数据流中的生产者可能会生产过多的数据,而消费者并不需要那么多,所以限流就有用武之地了。App 开发中有一些常见的限流场景,比如搜索框防抖、点击事件防抖、防过度刷新。这一篇就以这三个场景为线索探究一下如何实现及背后的原理 阅读本篇需要了解 Flow 的基础... ...查看全部
0
评论

它来了!Flutter 应用内调试工具 UME 开源啦 Flutter

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

作者:字节跳动终端技术 —— 赵瑞 先说重点 Pub 地址:pub.dev/packages/fl… GitHub 地址:github.com/bytedance/f… 背景 字节跳动已有累计超过 70 款 App 使用了 Flutter... ...查看全部
0
评论

自如客APP裸眼3D效果的实现 3d

技术精选王二蛋和他的张大花 发表了文章 • 28 次浏览 • 2021-07-28 09:39 • 来自相关话题

背景 移动端界面设计如此火热的今天,各类大厂的设计规范和设计语言已经非常的成熟,我们想做一些在这套成熟的设计规范之外的尝试和创新,所以有别于传统的banner交互形式成为了我们的发力点。 设计理念 由于app版面空间有限,除了功能导向、阅读习惯和设计美观... ...查看全部
0
评论

1分钟教你App点击秒开技能 UI Android

技术精选柳天明 发表了文章 • 27 次浏览 • 2021-07-27 15:07 • 来自相关话题

1分钟教你App点击秒开技能背景刚开始开发应用,不少人没有注意到点击桌面图标打开App有短暂的白屏或者黑屏的情况,短暂的白屏或者黑屏多多少少会影响用户的体验。其实只要我们简单设置一下,你的App就没有了白屏或者黑屏,实现秒开的效果。哪里不会点哪里,So eas... ...查看全部
0
评论

Android 禁止截屏、录屏 — 解决PopupWindow无法禁止录屏问题 安全 Android

技术精选柳天明 发表了文章 • 26 次浏览 • 2021-07-27 15:03 • 来自相关话题

项目开发中,为了用户信息的安全,会有禁止页面被截屏、录屏的需求。这类资料,在网上有很多,一般都是通过设置Activity的Flag解决,如://禁止页面被截屏、录屏 getWindow().addFlags(WindowManager.LayoutParams... ...查看全部
0
评论

学会黑科技,一招搞定 iOS 14.2 的 libffi crash iOS开发

技术精选zuyu 发表了文章 • 27 次浏览 • 2021-07-27 14:20 • 来自相关话题

作者:字节移动技术 —— 谢俊逸苹果升级 14.2,全球 iOS 遭了秧。libffi 在 iOS14.2 上发生了 crash, 我司的许多 App 深受困扰,有许多基础库都是用了 libffi。经过定位,发现是 vmremap 导致的 code sign ... ...查看全部
0
评论

抖音iOS最复杂功能的重构之路--播放器交互区重构实践分享 iOS开发

技术精选zuyu 发表了文章 • 25 次浏览 • 2021-07-27 10:33 • 来自相关话题

背景介绍本文以抖音中最为复杂的功能,也是最重要的功能之一的交互区为例,和大家分享一下此次重构过程中的思考和方法,主要侧重在架构、结构方面。交互区简介交互区是指播放页面中可以操作的区域,简单理解就是除视频播放器外附着的功能,如下图红色区域中的作者名称、描述文案、... ...查看全部
0
评论

抖音研发效能建设 - CocoaPods 优化实践 iOS开发

技术精选zuyu 发表了文章 • 19 次浏览 • 2021-07-27 10:14 • 来自相关话题

背景抖音很早就接入 CocoaPods 进行依赖管理了,项目前期抖音只有几十个组件,业务代码也基本在壳工程内,CocoaPods 可以满足业务研发的需求,但是随着业务的不断迭代,代码急剧膨胀,同时抖音工程也在进行架构优化,比如工程组件化改造,组件的数量和复杂度... ...查看全部
0
评论

从精准化测试看ASM在Android中的强势插入-字节码 Android ASM

技术精选柳天明 发表了文章 • 20 次浏览 • 2021-07-26 16:42 • 来自相关话题

从精准化测试看ASM在Android中的强势插入-字节码字节码是ASM的基础,要想熟练的使用ASM,那么了解字节码就是必备基础。Class的文件格式Class文件作为Java虚拟机所执行的直接文件,内部结构设计有着固定的协议,每一个Class文件只对应一个类或... ...查看全部
0
评论

Android基础到进阶UI CheckedTextView 使用+实例 CheckedTextView

技术精选王二蛋和他的张大花 发表了文章 • 29 次浏览 • 2021-07-24 10:46 • 来自相关话题

CheckedTextView是什么 CheckedTextView继承自TextView且实现了Checkable接口,对TextView界面和显示进行了扩展的控件,支持Checkable。可以实现 单选或多选功能,在你懒得使用两者结合的时候,这就是不二选... ...查看全部
0
评论

Binder概述,快速了解Binder体系 Binder

技术精选王二蛋和他的张大花 发表了文章 • 25 次浏览 • 2021-07-24 10:45 • 来自相关话题

前言 众所周知,Binder是Android系统中最主要的进程间通信套件,更具体一点,很多文章称之为Binder驱动,那为什么说它是一个驱动呢,驱动又是何物,让我们自底向上,从内核中的Binder来一步步揭开它的面纱。本文重点在帮助读者对于Binder系统有... ...查看全部
0
评论

手把手教你 Debug — iOS 14 ImageIO Crash 分析 iOS开发

技术精选zuyu 发表了文章 • 33 次浏览 • 2021-07-23 18:34 • 来自相关话题

背景去年 9 月份开始,许多用户升级到 iOS 14 之后,线上出现很多 ImageIO 相关堆栈的 Crash 问题,而且公司内几乎所有的 APP 上都有出现,在部分 APP上甚至达到了 Top 3  Crash。得益于 APM 平台精准数据采集机... ...查看全部
0
评论

Objective-C & Swift 最轻量级 Hook 方案-SDMagicHook iOS三方开源库

iOS Libraryzuyu 发表了文章 • 39 次浏览 • 2021-07-23 12:01 • 来自相关话题

本文从一个 iOS 日常开发的 hook 案例入手,首先简要介绍了 Objective-C 的动态特性以及传统 hook 方式常见的命名冲突、操作繁琐、hook 链意外断裂、hook 作用范围不可控制等缺陷,然后详细介绍了一套基于消息转发机制的 instanc... ...查看全部
0
评论

WKWebView音视频媒体播放处理 iOS开发

技术精选zuyu 发表了文章 • 28 次浏览 • 2021-07-23 11:28 • 来自相关话题

1. 对WKWebViewConfiguration进行设置。实现媒体文件可以自动播放、使用内嵌HTML5播放等功能使用这个测试网址// 初始化配置对象 WKWebViewConfiguration *configuration = [[WKWebViewCo... ...查看全部
0
评论

iOS抖音的转场动画 iOS三方开源库

iOS Libraryzuyu 发表了文章 • 41 次浏览 • 2021-07-23 11:24 • 来自相关话题

转场调用代码- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { AwemeListV... ...查看全部
0
评论

UITableView 建模 iOS三方开源库

iOS Libraryzuyu 发表了文章 • 42 次浏览 • 2021-07-23 11:19 • 来自相关话题

tableview 是开发中项目中常用的视图控件,并且是重复的使用,布局类似,只是数据源及Cell更改,所以会出现很多重复的内容,并且即使新建一个基础的列表也要重复这些固定逻辑的代码,这对于开发效率很不友好。本文的重点是抽取重复的逻辑代码,简化列表页面的搭建,... ...查看全部
0
评论

Flutter中的异步 Flutter

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

同步与异步 程序的运行是出于满足人们对某种逻辑需求的处理,在计算机上表现为可执行指令,正常情况下我们期望的指令是按逻辑的顺序依次执行的,而实际情况由于某些指令是耗时操作,不能立即返回结果而造成了阻塞,导致程序无法继续执行。这种情况多见于一些io操作。这时,对... ...查看全部
0
评论

Protobuf 和 JSON对比分析 Protobuf

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

Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structur... ...查看全部
0
评论

CoordinatorLayout 嵌套Recycleview 卡顿问题 Recycleview

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

1.问题场景 伪代码: <CoordinatorLayout> <AppBarLayout> <RecycleView> </RecycleView> </AppBa... ...查看全部
0
评论

优雅地封装 Activity Result API,完美地替代 startActivityForResult() Result API

技术精选王二蛋和他的张大花 发表了文章 • 46 次浏览 • 2021-07-23 10:03 • 来自相关话题

前言 Activity Result API。这是官方用于替代 startActivityForResult() 和 onActivityResult() 的。虽然出了有大半年了,但是个人到现在没看到比较好用的封装。最初大多数人会用拓展函数进行封装,而在 a... ...查看全部
0
评论

ios--离屏渲染详解 iOS开发

技术精选zuyu 发表了文章 • 27 次浏览 • 2021-07-22 16:59 • 来自相关话题

目录:1.图像显示原理2.图像显示原理2.1 图像到屏幕的流程2.2 显示器显示的流程3.卡顿、掉帧3.1 垂直同步 Vsync + 双缓冲机制 Double Buffering2.3 掉帧和屏幕卡顿的本质4.离屏渲染4.1 什么事离屏渲染、离屏渲染的过程4.... ...查看全部
0
评论

iOS-分页控制器 iOS三方开源库

iOS Libraryzuyu 发表了文章 • 33 次浏览 • 2021-07-22 16:54 • 来自相关话题

使用:1、创建方法1.1 导入头文件#import "XLPageViewController.h"1.2 遵守协议@interface ViewController ()<XLPageViewControllerDelegate, XLPageView... ...查看全部
0
评论

iOS - 呼吸动画库 开源项目

iOS Libraryzuyu 发表了文章 • 31 次浏览 • 2021-07-22 16:47 • 来自相关话题

先看效果
0
评论

12个出现频率最高的iOS技术面试题及答案 iOS开发

技术精选zuyu 发表了文章 • 26 次浏览 • 2021-07-22 16:42 • 来自相关话题

这篇文章给大家总结了在iOS面试的时候可能会遇到的12个技术面试题,以及这些面试题但答案,这些答案只是给大家一些参考,大家可以再结合自己理解进行回答,有需要的朋友们下面来一起看看吧。前言随着移动互联网科技不断的发展和创新,如今无论是公司还是开发者或设计师个人而... ...查看全部
0
评论

最新iOS开发常见面试题-基础篇 iOS开发

技术精选zuyu 发表了文章 • 26 次浏览 • 2021-07-22 16:40 • 来自相关话题

1.iOS线程与进程的区别和联系?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而... ...查看全部
0
评论

iOS面试备战-网络篇 iOS开发

技术精选zuyu 发表了文章 • 30 次浏览 • 2021-07-22 16:38 • 来自相关话题

计算机网络是计算机科学与技术专业的必修课,也是移动端,前端,后端都会涉及并用到的知识点,可想而知它的重要性。所以它也成为了iOS面试中经常被问及的问题。准备面试的话,网络相关的知识点一定不能错过。这里总结了一些我认为有用的和最近面试遇到的网络相关知识点。计算机... ...查看全部
0
评论

一个用于Android 应用组件化时各组件的Application进行解耦的轻便型框架。 解耦 Android

Android Library柳天明 发表了文章 • 27 次浏览 • 2021-07-22 14:35 • 来自相关话题

Lobster一个用于Android 应用组件化时各组件的Application进行解耦的轻便型框架。 三个注解即可搞定!一、功能介绍1.在组件中不使用BaseApplication实例,通过注解,直接使用组件自己创建的Application实例; 2.组件中... ...查看全部
0
评论

Android自定义搜索控件 KSearchView 自定义View Android

Android Library柳天明 发表了文章 • 34 次浏览 • 2021-07-22 14:33 • 来自相关话题

KSearchView自定义搜索控件布局示例代码 <com.kacent.widget.view.KingSearchView android:id="@+id/search_view" android:layout_wi... ...查看全部
0
评论

Android基础到进阶UI爸爸级TextView介绍+实例 textview

技术精选王二蛋和他的张大花 发表了文章 • 32 次浏览 • 2021-07-22 11:55 • 来自相关话题

TextView是什么 向用户显示文本,并可选择允许他们编辑文本。TextView是一个完整的文本编辑器,但是基类为不允许编辑;其子类EditText允许文本编辑。 咱们先上一个图看看TextView的继承关系: 从上图可以看出TxtView继承了Vi... ...查看全部
0
评论

Android-自定义拼图验证码 拼图验证码

技术精选王二蛋和他的张大花 发表了文章 • 18 次浏览 • 2021-07-22 11:53 • 来自相关话题

废话不多说,先上图: 从效果图开始"临摹" 分析 从上面的效果图中,我们可以很直观的看出一共包含三个元素:背景图、空缺部分、填充部分,需要注意的是: 1. 空缺部分缺失的图片刚好是填充部分 2. 我们把填充部分位置固定在左侧,而随机生成空缺部分在右侧... ...查看全部
0
评论

手把手教你搭建AndroidJenkins环境及一键自动构建打包 Jenkins

技术精选王二蛋和他的张大花 发表了文章 • 27 次浏览 • 2021-07-22 11:51 • 来自相关话题

前言: 之前看到后端的同事,在服务器上刷刷的敲命令觉得很酷,给我的感觉是Linux很难上手。自从公司给我配了台服务器后,操作了一下,感觉和想的不是那么一回事,所以还是得多动手,不要空想。 正文开始: 看到网上说Linux安装软件基本是用yum,所以这边也是... ...查看全部