一、什么是Navigation Navigation是google推出的Jetpack架构组件里的一种,一个Activity内的多个Fragment由Navigation负责页面跳转并互相传值,同时能保留先前多个Activity的切换的用户体验。二、Navigation有啥优点传统的一个页面就是一个Activity,Activity是重量级的,一个Activity的创建是很复杂的,会销毁很多内存资
迭代1. 迭代器: 迭代是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问结束。 迭代器只能往前不会后退 2. 可迭代对象: 对list,tuple,str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用 我们把这样的过程称为遍历,也叫迭代。 3. 判断一个对象是否可以迭代
前言前一阵子,写了几篇 Android 启动优化的文章,主要是从两个方面论述的。Application 多线程异步加载,以及怎么解决多线程任务依赖的问题首页布局优化,从常规的布局嵌套优化到渐进式加载,再到异步加载。今天,就让我们来聊一聊 JetPack App Startup。目录大概是这样的1 什么是 JetPack App Startup 2 JetPack App Startup 能解决什么
转载 2024-03-14 21:12:55
95阅读
额,听说 是个轻量级的线程.咱也不懂,一个应用呢,后台就是个进程,然后这个进程能开一堆线程,线程能做耗时任务,Android 有很多地方都比较需要线程,比如:定时任务,耗时任务,网络请求~但是呢,一般开多了就容易GG,不是有个面试题经常问多线程并发么,反正我没遇到~然后呢,kotlin这个协感觉是轻量化这个线程,然后就能无限开咯,老套路了:没有好的解决方案那就从根本上替换他!翻译过来就是优化
转载 2023-12-20 05:47:31
70阅读
基于原文修整 一些 API 启动长时间运行的操作(例如网络 IO、文件 IO、CPU 或 GPU 密集型任务等),并要求调用者阻塞直到它们完成。提供了一种避免阻塞线程并用更廉价、更可控的操作替代线程阻塞的方法: 挂起。 通过将复杂性放入库来简化异步编程。程序的逻辑可以在中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(
转载 2023-12-15 14:06:07
80阅读
进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。线程是程序执行时的最小单位,它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈、局部变量和指令指针。 线程和进程各自有什么区别和优劣呢?进程是资源分配的最小单位,线程是程序执行的最小单位。进程有自己的独立地址空间,每启动一个进程,系统就会为它
转载 2023-12-26 06:47:29
24阅读
初步印象是线程之下更小的处理单元,本质上是轻量级的线程。本文章先把的简单用法梳理一遍,至于细节再在以后的文章里结合网络请求、IO操作在进行深入研究。比较轻量是基于线程的封装,底层还是依赖于线程可以简化异步编程相关概念kotlinx.coroutines 是由 JetBrains 开发的功能丰富的库。它包含本指南中涵盖的很多启用高级的原语,包括 launch、 asy
在一般的应用场景下,我们都希望可以异步进行耗时任务,比如网络请求,数据处理等等。当我们离开当前页面的时候,也希望可以取消正在进行的异步任务。这两点,也正是使用中所需要注意的。既然不建议直接使用 GlobalScope,我们就先试验一下使用它会是什么效果。private fun launchFromGlobalScope() { GlobalScope.launch(Dispatchers.M
些代码,跟ui无关的,这样这些代码会执行多次,有时候这个执行多次的代码 也许并不符合我们的需求2.在某个Composable函数 中,我们有一段代码,这个代码我就是仅仅想让他在生命周期内
原创 2023-06-22 10:31:56
292阅读
官网介绍:https://developer.android.com/kotlin/coroutines一、的概念(Coroutines)是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。 是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,有助于管理长时间运行的任务.二、的特点是在 Android
转载 2023-09-11 21:44:05
170阅读
前言大家好,我是小益!在上章内容中,我们简单了解了什么是以及的基本使用,主要提到了的launch与withContext用法。但是launch与withContext并不适合用于需要返回结果的并发场景,在并发场景中,我们一般会使用的async/await。推荐文章将率先在公众号「Code满满」上发布,欢迎大家关注!一、async与awiatasync单单从字面意思理解就知道其与异步
转载 2023-07-28 00:03:15
257阅读
一:是什么?基于线程,是轻量级的线程 coroutine = cooperation+routine 难度在哪里? 1,java中不曾出现,新概念 2,概念不清晰 3,Kotlin基础不扎实 4,多线程基础太薄弱二:在android来解决什么问题?1,处理耗时任务,这种任务常常会阻塞主线程 2,保证主线程安全,确保安全的从主线程调用任何suspend函数(挂起函数) 异步任务已经过
转载 2023-12-20 17:35:55
130阅读
一、概念  :是单线程下的并发,又称微线程,纤。英文名Coroutine。是一种用户态的轻量级线程,即是由用户程序自己控制调度的。 大概就是这个样子  的运行需要在一个 EventLoop 中进行,由它来控制异步任务的注册、执行、取消等。其大致原理是:把传入的所有异步对象(准确的说是可等待对象,如 Coroutine,Task&nbsp
转载 2020-09-05 05:40:00
330阅读
2评论
什么是(不严谨解释)作者:阿猫链接:https://www.zhihu.com/question/20511233/answer/24260355没有啥复杂的东西,考虑清楚需求,就可以很自然的衍生出这些解决方案。一开始大家想要同一时间执行那么三五个程序,
原创 2021-09-28 13:10:11
233阅读
废话留在结尾了。以下括号内有的是细分问题,有的是关键点。(注:我简历上有写源码okhttp、Retrofit、Glide、Eventbus、Arouter。)一、作业帮:1面:        1、Https握手过程(CA验证、哪些是对称加密、哪些非对称加密,ssl包含哪些内容);     
目录 前言 Kotlin,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin的时候,断断续续看了网上不少文章,长篇大论把Kotlin描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于的文章,希望能够帮助大家能够更快的上手KotlinJetPack里的组件上图就是JetPack中包含的组件列表,每个组件都是相对独立的,可以被单独使用和构建
转载 2024-02-01 15:12:12
50阅读
解决了什么?Coroutines作为Kotlin的一大特性,被Android官方所强推,主要用来简化Android中异步代码的编写,将开发者从异步代码的泥潭中解救出来。在Android开发中,Coroutines所解决的两个最大的问题是:耗时任务:阻塞主线程主线程安全:任何suspend方法都可以在主线程中被调用我们来详细看看这两大问题,Coroutines都是如何去解决的。耗时任
如何理解是一种不同于进程和线程的存在,其本质是一种函数,同一线程中的多个协是串行执行的,但为了理解仍然需要三者一起对比。进程、线程、三者的上下文切换对比:进程线程切换者操作系统操作系统用户(编程者/应用程序)切换时机根据操作系统自己的切换策略,用户不感知根据操作系统自己的切换策略,用户不感知用户自己(的程序)决定切换内容页全局目录&内核栈&硬件上下文内核栈&amp
android 基础基础概念挂起和恢复挂起和阻塞调度器Dispatchers.MainDispatchers.IODispatchers.DefaultnewSingleThreadContext结构化并发-CoroutineScope调试 背景:上家公司干了三年,开发语言主要用的JAVA和flutter来开发的,新的公司全是kotlin,所以又要把上上家公司的kotlin要回顾下了,
  • 1
  • 2
  • 3
  • 4
  • 5