环信即时通讯云

环信即时通讯云

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

环信开发文档

环信客服云

环信客服云

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

环信机器人

智能,高效
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

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

iOS Library

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

Android Library

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

zygote启动流程 Android

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

对zygote的理解 在Android系统中,zygote是一个native进程,是所有应用进程的父进程。而zygote则是Linux系统用户空间的第一个进程——init进程,通过fork的方式创建并启动的。 作用 zygote进程在启动时,会创建一个Dalv... ...查看全部
0
评论

Android 开发也要懂得数据结构 - SparseArray源码 Android

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

在之前分析 HashMap 就知道当容量达到 75% 时就需要扩容,那也就意味着 25% 的内存空间啥也不放,浪费掉了,为了解决这个问题,就有了 SparseArray。 本文章使用的是 JDK1.8 ,不同版本源码有差异。 可先食用 Android 开发也要... ...查看全部
0
评论

View.post()为什么能准确拿到View的宽高? Android

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

老生常谈之------View.post() 起因:之前一群里的哥们问 Handler.post() 为什么会在 Activity 的 onResume() 之后执行,我找了一遍之后并没有找到原因,后来从这个问题我想起其他的问题 view.post() 为什... ...查看全部
0
评论

ARouter原理与缺陷解析 Android

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

前言 本文主要包括以下内容 1.为什么需要ARouter及ARouter的基本原理 2.什么是APT及ARoutr注解是如何生效的? 3.ARouter有什么缺陷? 4.什么是字节码插桩,及如何利用字节码插桩优化ARouter? 为什么需要ARouter 我们... ...查看全部
0
评论

ConstraintLayout 约束布局 Android

柳天明 发表了文章 • 9 次浏览 • 2021-04-23 15:13 • 来自相关话题

约束布局 约束布局概念 ConstraintLayout 可让您使用扁平视图层次结构(无嵌套视图组)创建复杂的大型布局。它与 RelativeLayout相似,其中所有的视图均根据同级视图与父布局之间的关系进行布局,但其灵活性要高于 RelativeLayou... ...查看全部
0
评论

Jetpack Compose TriStateCheckbox,Checkbox,Switch用法详解 Android jetpack

可口可乐 发表了文章 • 10 次浏览 • 2021-04-23 15:03 • 来自相关话题

这篇文章我们会通过分析TriStateCheckbox,Checkbox,Switch 他们的代码,并且讲解他们每个属性的含义以及用法。 一:TriStateCheckbox 我们来看下TriStateCheckbox的代码 @Composable fun T... ...查看全部
0
评论

Kotlin - 内部类 kotlin Android

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

内部类 内部类就是定义在类内部的类,Kotlin 中的内部类大致分为 2 种: 静态内部类 非静态内部类 静态内部类 在某个类中像普通类一样声明即可,可以认为静态内部类与外部类没有关系,只是定义在了外部类"体内"而已,在使用静态内部类时需要"带上"外部类:... ...查看全部
0
评论

Kotlin - 区间与数组 kotlin Android

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

区间(Range) 区间是一个数学上的概念,表示范围。 区间的声明 Kotlin 中可以使用 .. 或 until 来声明区间: val range: IntRange = 0..1024 // 闭区间[0,1024],包括1024 val rangeExcl... ...查看全部
0
评论

【疯狂Android之Kotlin】关于Kotlin的高阶函数 kotlin Android

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

高阶函数介绍 概念 相信许多同学都已经知道,所谓的高阶函数就是就是方法的参数 或 返回值 是函数类型的 函数 2. 通过例子说明 List 集合的 forEach( )循环 , 该方法就是接收一个高阶函数类型变量作为参数 , 有点类似于C/C++中的函数指... ...查看全部
0
评论

Android 开发经验谈:多线程你了解多少? 多线程 Android

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

 i= i+1;如上代码很简单,在单线程中i就等于i+1,执行不会出问题。但是在多线程中就会有问题。在说多线程之前我从别人的博客里摘了一段文字:大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入... ...查看全部
0
评论

Android添加联系人到通讯录 Android

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

本周项目中遇到了需要添加联系人或者添加到已有联系人的需求,联系人中需要保存的字段有很多,之前不太熟悉,在这里总结一下。 字段 联系人名字 名字不知道为什么,值设置了之后传过去没有,于是自己通过Intent最后又单独传了一次 // 联系人名字 ContentVa... ...查看全部
0
评论

Jetpack之Navigation(2) Android jetpack

可口可乐 发表了文章 • 15 次浏览 • 2021-04-23 10:54 • 来自相关话题

Jetpack之Navigation(1)2.原理 初始化过程 NavHostFragment生命周期方法 1.create—NavHostFragment的创建 在NavHostFragment.create方法 初始化Bundle,并且将graphRes... ...查看全部
0
评论

Jetpack之Navigation(1) Android jetpack

可口可乐 发表了文章 • 18 次浏览 • 2021-04-23 10:54 • 来自相关话题

1.基本使用引入库 def nav_version = "2.3.2" // Java language implementation implementation "androidx.navigation:navigation-fragment:$nav_... ...查看全部
0
评论

drawable用Kotlin应该这样写 Android

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

前言 通常我们在res/drawable下面自定义shape和selector来满足一些UI的设计,但是由于xml最终转换为drawable需要经过IO或反射创建,会有一些性能损耗,另外随着项目的增大和模块化等,很多通用的样式并不能快速复用,需要合理的项目资源... ...查看全部
0
评论

Android各版本的行为变更 Android

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

本文的主要内容来自官方,摘出了Android开发者应该关注的重点变更,目前已经更新到Android 11,新版本发布时会持续更新,如果对您有帮助请不吝点赞! 一、Android 5.0——21——Lollipop(棒棒糖) ART 限制获取AppTask ... ...查看全部
0
评论

iOS------OpenGL 图形专有名词与坐标解析 iOS开发

zuyu 发表了文章 • 19 次浏览 • 2021-04-22 14:24 • 来自相关话题

一.OpenGL简介OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它将计算机的资源抽象称为⼀个个OpenGL的对象,对这些资源的操... ...查看全部
0
评论

iOS Category---为什么只能加方法不能加属性 iOS开发

zuyu 发表了文章 • 21 次浏览 • 2021-04-22 14:22 • 来自相关话题

一.面试题            相信大家在面试的时候经常会被问到Category的实现原理,以及Category为什么只能加方法不能加属性?个人理解这个问题本... ...查看全部
0
评论

iOS Metal语言规范深入 iOS开发

zuyu 发表了文章 • 20 次浏览 • 2021-04-22 14:17 • 来自相关话题

一.函数修饰符Metal 有以下3种函数修饰符:        1)kernel , 表示该函数是⼀个数据并⾏计算着⾊函数. 它可以被分配在⼀维/⼆维/三维线程组中去执⾏      &nbs... ...查看全部
0
评论

iOS YUV与RGB&YUV算法 iOS开发

zuyu 发表了文章 • 20 次浏览 • 2021-04-22 14:14 • 来自相关话题

数字媒体压缩        为缩小数字媒体文件的大小,我们需要对其使用压缩技术,一般来说我们所欣赏的媒体内容都进行过一定程度的压缩,无论在电视上的视频,蓝光碟片,网页上的视频流还是... ...查看全部
0
评论

线程切换哪家强?RxJava与Flow的操作符对比 Android

可口可乐 发表了文章 • 21 次浏览 • 2021-04-22 10:22 • 来自相关话题

Flow作为Coroutine版的RxJava,同RxJava一样可以方便地进行线程切换。 本文针对两者在多线程场景中的使用区别进行一个简单对比。 1. RxJava 我们先来回顾一下RxJava中的线程切换 如上,RxJava使用subscriberOn... ...查看全部
0
评论

用Jetpack Compose制作出可爱的天气动画 Android

可口可乐 发表了文章 • 24 次浏览 • 2021-04-22 10:21 • 来自相关话题

1. 背景介绍 最近参加了Compose挑战赛的终极挑战,使用Compose完成了一个天气app。之前几轮挑战我也都有参与,每次都学到不少新东西,希望在这最后一轮挑战中,活用这段时间的积累做出更加成熟的作品。 项目挑战 因为没有美工协助,所以我考虑通过代码实... ...查看全部
0
评论

为Fragment换装ViewPager2 Android

可口可乐 发表了文章 • 19 次浏览 • 2021-04-22 10:19 • 来自相关话题

1. 开启ViewPager2之旅距离ViewPager2正式版的发布已经一年多了,目前ViewPager早已停止更新,官方鼓励使用ViewPager2替代。 ViewPager2底层基于RecyclerView实现,因此可以获得RecyclerView带来的... ...查看全部
0
评论

一道面试题:ViewModel为什么横竖屏切换时不销毁? Android

可口可乐 发表了文章 • 29 次浏览 • 2021-04-22 10:17 • 来自相关话题

又到金三银四 往年面试中有关Jetpack的考察可以算是加分项,随着官方对Modern Android development (MAD) 的大力推广,今年基本上都是必选题了。 很多候选人对Jetpack各组件的功能及用法如数家珍,但一问及到原理往往卡壳。原理... ...查看全部
0
评论

android 逆向工程-工具篇 jadx(九) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-技术篇 Android studio动态调试(八) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-工具篇 IDA pro入门(七) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-开发篇 apk加固(六) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-工具篇 dex2jar jd-gui(五) 逆向 Android

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

Android逆向工程篇: android 逆向工程-工具篇 drozer(一) android 逆向工程-工具篇 apktool(二) android 逆向工程-语言篇 Smali(三) android 逆向工程-分析篇 漏洞与风险(四) android ... ...查看全部
0
评论

java设计模式:状态模式 Java 设计模式 Android

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

定义对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。优点结构清晰,状态模式将与特定状态相关的行为局部化到一个状态中,并且将不同状态的行为分割开来,满足“单一职责原则”。将状态转换显示化,减少对象间的相互... ...查看全部
1
评论

android 逆向工程-分析篇 漏洞与风险(四) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-语言篇 Smali(三) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-工具篇 apktool(二) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
0
评论

android 逆向工程-工具篇 drozer(一) 逆向 Android

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

Android逆向工程篇:android 逆向工程-工具篇 drozer(一)android 逆向工程-工具篇 apktool(二)android 逆向工程-语言篇 Smali(三)android 逆向工程-分析篇 漏洞与风险(四)android 逆向工程-工... ...查看全部
3
评论

java设计模式:原型模式 设计模式 Java Android

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

定义用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。 优点 Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 n... ...查看全部
0
评论

扫盲:Kotlin 的泛型(2) kotlin Android

柳天明 发表了文章 • 26 次浏览 • 2021-04-21 11:27 • 来自相关话题

Kotlin 的 out 和 in 和 Java 泛型一样,Kolin 中的泛型本身也是不可变的。 不过换了一种表现形式: 使用关键字 out 来支持协变,等同于 Java 中的上界通配符 ? extends。 使用关键字 in 来支持逆变,等同于 Java... ...查看全部
0
评论

扫盲:Kotlin 的泛型(1) kotlin Android

柳天明 发表了文章 • 30 次浏览 • 2021-04-21 11:26 • 来自相关话题

引子南尘很久没有写文章啦,其实一直在思考挺多问题,如何才能写出对大家有价值的文字。思来想去,参看了好几位新继网红博主的风格,我觉得我时候开启新篇章了。没错,这就是扫盲。今天,就带来扫盲的第一篇:Kotlin 的泛型。相信总是有很多同学,总是在抱怨泛型无论怎么学... ...查看全部
0
评论

Kotlin写一个解释器(1)---词法分析 kotlin Android

柳天明 发表了文章 • 28 次浏览 • 2021-04-21 11:25 • 来自相关话题

为什么学最近对编译器很感兴趣,为什么要学习编译原理,于我而言是因为最近需要写一个DSL,需要一个解释器,而对于大部分程序员来说,学习编译器可能有一下三个方面:(1)学习编译器设计,可以帮助更好的理解程序以及计算机是怎么运行的,同时编写编译器或者解释器需要大量的... ...查看全部
0
评论

Android从源码分析RecyclerView四级缓存复用机制二(复用ViewHolder) Android

柳天明 发表了文章 • 29 次浏览 • 2021-04-21 11:23 • 来自相关话题

上一篇文章说了RecyclerView的四级缓存中的缓存ViewHolder,文章链接在这里:Android从源码分析RecyclerView四级缓存复用机制一(缓存ViewHolder) 列表视图在原生开发中一直占用重要地位,不管是之前的ListV... ...查看全部
0
评论

Android与JS相互通信 js Android

柳天明 发表了文章 • 25 次浏览 • 2021-04-21 11:21 • 来自相关话题

Android调用js的方法实现是引入一个webview用webview打开一个页面调取的JS函数。private void InitWebView() { mWebView = (WebView) findViewById(R.id.webview)... ...查看全部
2
评论

算法与数据结构之数组 数据结构 算法 Java Android

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

个人说明:拿过国内某算法大赛全国三等。。。(渣渣) 概念它用一组连续的内存空间,来存储一组具有相同类型的数据。优点:查找速度快,可以快速随机访问缺点:删除,插入效率低,大小固定,不支持动态扩展,要求内存空间必须连续数组是一种线性表结构 基本操作(以下图都是盗的... ...查看全部
2
评论

算法与数据结构之算法复杂度 数据结构 算法 Java Android

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

情景回顾平时在聊天谈论算法时候,发现很多人并不清楚算法的时间复杂度怎么计算,一些稍微复杂的算法时间复杂度问题,就无法算出时间复杂度。那么我在今天的文章里去解答这些问题 时间复杂度与空间复杂度时间复杂度执行这个算法所需要的计算工作量 随着输入数据的规模,时间也... ...查看全部
1
评论

算法与数据结构之链表 数据结构 算法 Java Android

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

个人说明:拿过国内某算法大赛全国三等。。。(渣渣) 概念链表是计算机数据结构中比较重要的一个,也是最基础之一。在开发过程中,有些时候会采用这种结构。链表可以说是一种动态的数据结构。链表是一种物理存储上非连续的存储结构,数据的顺序与关联通过链表中的节点指针来实现... ...查看全部
0
评论

Jetpack之Lifecycle Android

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

1.什么是Lifecycle Lifecycle是具备宿主生命周期感知能力的组件。它能持有组件(如Activity或Fragment)生命周期状态的信息,并且允许其他观察者监听宿主的状态。它也是Jetpack组件库的核心基础,包括我们就会讲到的LiveData... ...查看全部
1
评论

java设计模式:抽象工厂模式 Java 设计模式 Android

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

定义是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。 使用抽象工厂模式... ...查看全部
0
评论

聊聊 Activity 的启动模式 Android

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

Activity 的启动模式本身是一个挺难理解的知识点,大多数开发者对这个概念的了解可能只限于四种 launchMode 属性值,但启动模式其实还需要受 Intent flag 的影响。而且 Activity 启动模式并不只是单纯地用来启动一个 Activit... ...查看全部
0
评论

Okio-很棒的文章 Okio Android

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

前言 本文不去阐述 Okio 产生原因,也不去对比 Okio 与 Java 原生 IO 的优劣性,单纯分析 Okio 的实现,对每个关键点分析透彻,并配上精美图解。 本文分析点目录 Okio 类框架图 Source 与 Sink Buffer Segment... ...查看全部
1
评论

java 设计模式:责任链模式与Android事件传递 Java 设计模式 Android

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

1、概念是一个请求有多个对象来处理,这些对象是一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止。2、使用场景有多个对象可以处理同一个请求,具体哪个对象处理该请求待运行时刻再确定在不明确指定接收者的... ...查看全部
0
评论

java 设计模式:观察者 Java 设计模式 Android

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

1、概念在对象之间定义了一对多的依赖,使得么当一个对象状态发生改变,其相关依赖对象会收到通知并自动更新。2、场景一个抽象模型有两个方面,其中一个方面依赖于另一个方面一个对象的改变将导致一个或多个其他对象也发生改变需要在系统中创建一个触发链3、UML结构图分析抽... ...查看全部
0
评论

java 设计模式:模版方法 Java 设计模式 Android

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

模板方法模式  定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。通俗的说的就是有很多相同的步骤的,在某一些地方可能有一些差别适合于这种模式,如大话设计模式中说到的考试场景中,每个人... ...查看全部
0
评论

java 设计模式:策略模式 Java 设计模式 Android

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

概念:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换,策略模式让算法独立于使用它的客户而独立变化。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。使用场景:一个类定义了多种行为,并且这个行为在这个类的方法中以多个条件语... ...查看全部