首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android入门教程 | Fragment 基础概念

    不过,当 Activity 正在运行(处于已恢复生命周期状态)时,可以独立操纵每个片段,如添加或移除片段。...定制你的UI,在不同尺寸的屏幕上创建合适的UI,提高用户体验。 可复用,页面布局可以使用多个Fragment,不同的控件和内容可以分布在不同的Fragment上。...通常,至少应实现以下生命周期方法: onCreate() 系统会在创建片段时调用此方法。当片段经历暂停或停止状态继而恢复后,如果希望保留此片段的基本组件,则应在实现中将其初始化。...savedInstanceState 参数是在恢复片段时,提供上一片段实例相关数据的 Bundle(处理片段生命周期部分对恢复状态做了详细阐述)。...这是因为如需恢复 Activity,则提交后的状态可能会丢失。对于丢失提交无关紧要的情况,请使用 commitAllowingStateLoss()。

    3.5K40

    Android之Fragment

    什么是Fragment   自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其目的是为了解决不同屏幕分辩率的动态和灵活UI设计。...当一个片段指定了自身的布局时,它能和其他片段配置成不同的组合,在活动中为不同的屏幕尺寸修改布局配置(小屏幕可能每次显示一个片段,而大屏幕则可以显示两个或更多)。   ...Fragment可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。 Fragment是一个独立的模块,紧紧地与activity绑定在一起。...Fragment对象的Activity被启动后); 6. onResume()会让Fragment对象跟用户交互(在包含该Fragment对象的Activity被启恢复后)。...当activity处于Resumed状态时,可以自由地添加和移除fragment,也即是说,只有activity在Resumed状态时,fragment的状态可以独立改变。

    67320

    Android Jetpack - LiveData

    生命周期活跃状态的定义是这些组件正处于 STARTED 或 RESUMED 状态,LiveData 只会更新活跃状态的观察者,而已注册但处于非活跃状态的观察者不会被更新 我们可以在实现了 LifecycleOwner...生命周期状态更改时,LiveData 会通知 Observer 对象。你可以合并代码以更新这些 Observer 对象中的 UI。...每次应用程序数据更改时,你的观察者都可以在每次更改时更新 UI,而不是更新 UI 没有内存泄露 观察者绑定到 Lifecycle 对象,并在其相关生命周期被破坏后自行清理 不会因为活动停止而崩溃 如果观察者的生命周期处于非活动状态...,例如在后端堆栈中的活动的情况下,则它不会收到任何 LiveData 事件 不再需要手动处理生命周期 UI 组件只是观察相关数据,不会停止或恢复观察。...例如,后台活动在返回前台后立即接收最新数据 配置更改友好 如果由于配置更改(例如设备轮换)而重新创建活动或片段,则会立即接收最新的可用数据 资源共享 你可以使用单例模式扩展 LiveData 对象以包装系统服务

    2K30

    【Next.js】002-路由篇|App Router

    每个文件夹都代表一个对应到 URL 片段的路由片段。**创建嵌套的路由,只需要创建嵌套的文件夹。...但不会像布局那样维持状态。 布局每次不会重新渲染,这样是节省性能的,模板不会维持状态,应该是每次都重新渲染。 模板在路由切换时会为每一个 children 创建一个实例。...这就意味着当用户在共享一个模板的路由间跳转的时候,将会重新挂载组件实例,重新创建 DOM 元素,不保留状态。这听起来有点抽象,没有关系,我们先看看模板的写法,再写个 demo 你就明白了。...组件实例会被复用 不会重新创建 DOM 元素 适合需要保持状态的场景,如导航栏、侧边栏等 模板 (Template): 在路由切换时不会保持状态 每次都会创建新的组件实例 会重新创建 DOM 元素...适合需要重置状态的场景,如表单、计数器等 渲染行为 布局: 只在首次加载时渲染一次 路由切换时不会重新渲染 更节省性能 模板: 每次路由切换都会重新渲染 为每个子路由创建新实例 性能开销相对较大

    30501

    Longhorn,企业级云原生容器分布式存储 - 高可用

    目录 数据局部性 更改默认全局设置 使用 Longhorn UI 更改单个卷的数据位置 使用 StorageClass 为单个卷设置数据局部性 数据局部性设置 如何为卷设置数据局部性 意外分离后恢复卷...使用 Longhorn UI 更改单个卷的数据位置 您可以使用 Longhorn UI 在创建卷时设置 data locality。...您还可以在 volume detail 页面中更改卷创建后的 data locality setting。...对于没有控制器的 Pod,Longhorn 不会删除它们,因为如果 Longhorn 删除,则没有人会重新启动它们。要恢复意外分离的卷,您必须手动删除并重新创建没有控制器的 pod。...如果节点在故障后 5-6 分钟内没有重新上线,Kubernetes 将尝试基于 pod eviction 机制删除所有无法访问的 pod,这些 pod 将处于 Terminating 状态。

    2K30

    【Next.js】002-路由篇|App Router

    每个文件夹都代表一个对应到 URL 片段的路由片段。创建嵌套的路由,只需要创建嵌套的文件夹。...布局每次不会重新渲染,这样是节省性能的,模板不会维持状态,应该是每次都重新渲染。模板在路由切换时会为每一个 children 创建一个实例。...,对这两种情况都做了举例说明演练代码修改运行访问5、布局 VS 模板布局和模板都是用于在多个页面之间共享 UI 的机制,但它们有一些重要的区别:状态保持布局 (Layout):在路由切换时会保持状态组件实例会被复用不会重新创建...DOM 元素适合需要保持状态的场景,如导航栏、侧边栏等模板 (Template):在路由切换时不会保持状态每次都会创建新的组件实例会重新创建 DOM 元素适合需要重置状态的场景,如表单、计数器等渲染行为布局...:只在首次加载时渲染一次路由切换时不会重新渲染更节省性能模板:每次路由切换都会重新渲染为每个子路由创建新实例性能开销相对较大使用场景布局适合:网站的通用结构(导航栏、页脚等)需要保持状态的 UI 组件对性能要求较高的场景模板适合

    25610

    1.2、Activity的状态保存

    Activity状态保存的基本使用 学习Activity的生命周期,我们知道,当Activity进入到paused或者stopped状态后,这个Activity的状态仍然保存着。...然而,如果Activity进入到了后台,系统为了回收内存,有可能会去销毁该Activity,那么,当用户通过导航返回的时候,系统就不能简单的去恢复这个Activity,而是会重新创建这个Activity...但是对于普通用户来说,他并不知道系统销毁了Activity并重新创建它,因此,可能希望该Activity保存和他离开时候一样的状态。...更改活动在重新创建时自动保存和恢复。...尽管系统帮我们实现了UI组建的自动保存和恢复,但是有时候也需要去保存和恢复一些其他的成员变量。

    86330

    ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

    你也不想在你不需要的时候重新从数据库加载数据。让我们看一个 activity 的例子,在这个 activity 中你可以搜索你的音乐库: ? Activity 未搜索时及搜索后的状态示例。...onSaveInstanceState 是用于存储在 UI 控制器被系统终止又重建后可以轻松地重新加载 activity 状态时所需的少量数据。...例如,有些 activity 在被用户关闭后不会以一个全新的状态打开。一般地,当我在 Android 手机上关闭然后重新打开 Chrome 时,返回到了关闭 Chrome 之前正在浏览的页面。...使用 CursorLoader 后,如果数据库其中的一个值发生改变,Loader 就会自动触发数据重新加载并且更新 UI。 ?...为了高效的保存和恢复 UI 状态,可以混合使用 持久化、onSaveInstanceState() 和 ViewModel。

    3.8K30

    2020年值得你去试试的10个React开发工具

    安装完成后,打开Chrome的开发人员工具你就能看到多出了Components和Profiler选项卡,“Components”选项能帮助你查看屏幕上组件列表以及从其他组件派生出的子组件,你能够选择检查甚至编辑组件的状态和属性...在安装DevTools后,在你已经在React Dev Tools和React Sight的扩展设置中启用了“允许访问文件URL”选项,你就可以在DevTools种找到一个新的名为“React Sight...”的标签,当你运行本地程序时,你将可以使用React Sight以可视化树状的形式查看和创建不同的组件,这将让你能够方便的理解它们的连接方式,在你把鼠标悬停在元素上时,就可以看到它们当前的状态和属性。...React Styleguideist 这是另一个非常有趣的交互式工具,可让您创建和展示您的UI组件。 ? 请仔细查看上图。在右侧,你可以看到实际的代码,它在左侧生成UI。...Why did you render Why did you render是一个用来检测React组件是否需要重新渲染的工具,若被判定不需要重新渲染,那么则会console出一段标记组件的属性、状态和建议

    7.9K20

    ViewModel:持久化、onSaveInstanceState()、UI 状态恢复和 Loader

    你也不想在你不需要的时候重新从数据库加载数据。让我们看一个 activity 的例子,在这个 activity 中你可以搜索你的音乐库: Activity 未搜索时及搜索后的状态示例。...onSaveInstanceState 是用于存储在 UI 控制器被系统终止又重建后可以轻松地重新加载 activity 状态时所需的少量数据。...例如,有些 activity 在被用户关闭后不会以一个全新的状态打开。一般地,当我在 Android 手机上关闭然后重新打开 Chrome 时,返回到了关闭 Chrome 之前正在浏览的页面。...使用 CursorLoader 后,如果数据库其中的一个值发生改变,Loader 就会自动触发数据重新加载并且更新 UI。...为了高效的保存和恢复 UI 状态,可以混合使用 持久化、onSaveInstanceState() 和 ViewModel。

    1K20

    Android:保存 & 恢复Activity 状态缓存 - onSaveInstanceState()、onRestoreInstanceState()

    阅读本文可了解 Activity如何保存临时数据 & 状态 Activity如何恢复临时数据 & 状态 Activity如何保存临时数据 & 状态 1....activity重新创建的时候自动的恢复(只有在为该UI提供了唯一ID后才起作用) 若需复写该方法从而存储额外的状态信息时,应先调用父类的onSaveInstanceState()(因为默认的onSaveInstanceState...()帮助UI存储它的状态) 只使用该方法记录Activity的瞬间状态(UI的状态),而不是去存储持久化数据,因为onSaveInstanceState()调用时机不确定性;可使用 onPause...调用时机 当系统“未经你许可”时,确实销毁了你的Activity,则重新启动时会被系统调用 特别说明: 与onSaveInstanceState()区别:此处是 “确实销毁”后才调用 若是 被用户主动销毁...(如 用户按Back键),则不会调用 肯定在调用 onStop()前被调用,但不保证在onPause()前 / 后 3.

    3.1K30

    Android技能树 — Fragment总体小结

    方法存在的意义是对detach后的Fragment进行界面恢复。...然后网上有很多教程,叫你提交的时候使用commitAllowingStateLoss()方法,虽然说不会抛出错误,但是如果在Activity已经保存状态完之后提交了它,到时候Ativity意外崩溃,再恢复数据的时候就不会恢复在...所以我们比如一些对象可以保持在fragment中,这时候Activity重新恢复后,其他对象可以从fragment中找回。...Fragment重建恢复数据 推荐下面这篇文章: [译] 保存/恢复 Activity 和 Fragment 状态的最佳实践 引用一段话: 完全分开处理Fragment状态和view状态 为了使你的代码变得干净和可扩展...如果这里有任何属性是属于View的,在View内部进行保存和恢复.如果这里有任何属性是属于Fragment的,在Fragment内部进行保存和恢复。

    35010

    Android基础部分再学习---activity的状态保存

    然而,如果Activity进入到了后台,系统为了回收内存,有可能会去销毁该Activity,那么,当用户通过导航返回的时候,系统就不能简单的去恢复这个Activity,而是会重新创建这个Activity...但是对于普通用户来说,他并不知道系统销毁了Activity并重新创建它,因此,可能希望该Activity保存和他离开时候一样的状态。...然后,当Activity被重新创建的时候,我们就可以通过onCreate()或者onRestoreInstanceState()方法的Bundle对象,来获得我们之前存入的数据。...更改活动在重新创建时自动保存和恢复。...尽管系统帮我们实现了UI组建的自动保存和恢复,但是有时候也需要去保存和恢复一些其他的成员变量。

    1.1K20

    Android学习笔记(四)深入探讨Activity

    Fragment用来封装UI的各个部分,从而能够方便的创建动态界面,这些界面能够针对不同的屏幕尺寸很方向重新排列,起到优化UI的效果。   ...8 } 9 10 //在onCreate方法完成后调用,用于恢复UI状态 11 @Override 12 protected void onRestoreInstanceState...41 * 在Activity状态生命周期结束的时候滴啊用,用来保存UI状态的改变 42 */ 43 } 44 45 //在UI状态改变保存到saveInstanceState...(); 69 /* 70 * 挂起不需要的UI更新、线程或处理 71 * 当Activity不可见时,保存所有的编辑或者状态改变,因为在调用这个方法后...应该使用这个Bundle将UI恢复为上一次的状态,既可以通过onCreate方法也可以重写onRestoreInstanceState。

    1.1K100

    Android技能树 — Fragment总体小结

    方法存在的意义是对detach后的Fragment进行界面恢复。...然后网上有很多教程,叫你提交的时候使用commitAllowingStateLoss()方法,虽然说不会抛出错误,但是如果在Activity已经保存状态完之后提交了它,到时候Ativity意外崩溃,再恢复数据的时候就不会恢复在...所以我们比如一些对象可以保持在fragment中,这时候Activity重新恢复后,其他对象可以从fragment中找回。...推荐下面这篇文章: [译] 保存/恢复 Activity 和 Fragment 状态的最佳实践 引用一段话: 完全分开处理Fragment状态和view状态 为了使你的代码变得干净和可扩展,你最好把Fragment...如果这里有任何属性是属于View的,在View内部进行保存和恢复.如果这里有任何属性是属于Fragment的,在Fragment内部进行保存和恢复。

    1.1K20

    分片上传技术全解析:原理、优势与应用(含简单实现源码)

    上传完成后,服务器将这些分片重新组装成原始文件。这个过程通常包括以下几个步骤: 分片:文件被切割成多个小的片段,每个片段的大小通常是预定义的。 上传:每个分片被单独上传到服务器。...组装:服务器接收到所有分片后,将它们按正确的顺序重新组装成完整的文件。 确认:完成组装后,服务器可以返回一个确认响应,表示文件上传成功。...分片上传可以在单个分片上传失败时仅重新上传失败的分片,而不是整个文件,提高了上传的成功率。 减少内存使用:分片上传可以将大文件拆分为较小的片段,这样可以减少内存消耗并优化上传性能。...这通常涉及记录已上传的部分,并在恢复时跳过这些已上传部分。 一般来说,断点续传是从断开的分片起,重新上传该分片及之后的分片。...断点续传有助于: 中断恢复:在上传过程中,如果发生中断,可以从中断点继续上传,而不是重新上传整个文件。 记录状态:需要在客户端或服务器端记录上传进度。

    13010

    Bootstrap UI 编辑器

    更神奇的是,Bootstrap 会根据用户的每个选择来重新建立框架,方便用户的下载和使用。 2. ...在 Bootstrap 准备好的内容和代码片段的基础上提供一个又好又优雅的方法来编辑和美化 html,也因此它是个明智的选择。...这个应用还会帮用户创建的每种风格都生成唯一的一个 URL ,这样就可以保存用户所有的设置。更不可思议的是,当用户离开的时候,用户可以停止或者恢复自己定制的页面。 8. LayoutIt!...同时也是一个可拖拽的可视化编辑器,用来设计,创建原型和测试 Bootstrap 框架。Bootply 有个代码存储库,里面包括了 Bootstrap 代码片段,示例和模板。...X-editableX-Editable 是一个扩展库,允许用户创建可编辑的元素,比如页面弹出和内联模式。她提供本地的 Bootstrap,jQuery UI 或者是纯 jQuery 编辑功能。

    3.3K50
    领券