1.Android系统中Activity作为Activity栈(Stack)被管理的,大家都知道栈的特点是先进后出,所以当前活动的Activity处于栈顶,之前非活动的Activity被压入栈底,等待是否可能被恢复为活动状态。Android API中所提供的Activity生命周期图:2.下面的整个Activity生命周期中的所有方法,我们可以根据程序的需要来覆盖相应的方法: 1. public
转载
2024-09-24 14:00:18
38阅读
前言基于最近要准备去面试,特意系统的复习了下Android基础,看到Activity这块时,发现很多都忘了,而且之前也没有系统的学习和写笔记记录,所以,特此写下这篇关于Activity的一些理解,旨在帮助大家更好的理解Activity.Activity是什么?Activity是一个Android应用程序组件(也称为Android四大组件之一),它提供了一个屏幕,用户可以通过该屏幕进行交互以执行某些
转载
2024-01-24 19:07:11
80阅读
Q:Activity生命周期activity生命周期由7个,3对+1 onCreate->onRestart->onStart:可见->onResume:交互 onPause:存储数据,要快,切换的时候onPause后,第二个activity才会执行onCreate onStop:当activity仍然可见没有被完全覆盖,不走onStop,比如dialog或者透明主题 onDes
转载
2024-09-07 18:10:05
135阅读
Android中最常用的无非就是Activity, 而精通其中的原理和生命周期也是一个Android程序员必备的技能,包括在面试的时候很多问题都会涉及到activity生命周期。当我们启动一个app的时候,其实就已经开始了activity的生命, 而这一开始的activity就是MainActivity,基本在我们创建应用的时候就存在了。下面一张图来帮助我们了解生命周期。Activity中一共
转载
2024-02-19 17:40:41
39阅读
方法1:<!--获取Activity任务栈 权限-->
<uses-permission android:name="android.permission.GET_TASKS" />// 获取activity任务栈
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SE
转载
2023-05-18 15:47:42
238阅读
简介:这个基本是必问的问题了,说一下你对Activity生命周期的理解,呵呵…onCreate, onStart, onResume, onPause, onStop, onDestroy, onRestart这些大家都知道 如何回答的不落俗套,比格高呢…先上一张完整的生命周期图吧: Activity/Fragment生命周期总结 分析:那么为什么要弄这么多函数出来呢,主要是因
转载
2023-07-02 20:14:29
116阅读
Context很早之前在项目中实现了一套从 ViewModel 获得生命周期 LifecycleOwner 的机制,最近引入到新项目中先说一下背景,LifecycleOwner/Lifecycle 作为 Google Android Jetpack 的核心设计底座,不得不说真的是个非常牛逼和先进的 Idea. 从我个人理解来说,一切具有生命周期特征的对象理论上都可以抽象出 Lifecycle,于是
实例化对象Bitmap对象大小和像素大小BitmapFactory.Options如何实例化对象
Bitmap文档 Bitmap提供了一系列的createXX方法,可以通过:Bitmap、DisplayMetrics、Picture、RGB的颜色数组等得到一个Bitmap对象。BitmapFactory提供了一系列的decodeXX方法。流行、文件、资源等得到一个Bitmap对象。示例:bitma
转载
2023-08-24 23:01:26
131阅读
前言说下前几天遇到的一个小问题,关于RecyclerView条目选中状态的保存.众所周知,RecyclerView被创造出来用于条目的回收利用,但是,当前面回收的条目带有一些特殊的状态(区别于未选中状态),那么滑动的时候,后面的条目会重复这些状态,于是你的视图就完全混乱了,这并不是你想要的效果,那么就很有必要来谈谈这个选中状态的复用了.此外,条目的选中与未选中状态,类似于一个CheckBox的勾选
转载
2023-12-25 14:39:43
241阅读
Bitmap数据存储位置在Android 2.3.3(API10)之前,Bitmap的像素数据存放在Native内存Android3.0之后8.0之前,Bitmap的像素数据被改成放在了Dalvik Heap(java堆)中Android8.0之后,Bitmap的像素数据回到Native内存中,但是google改进后可以随着java对象的释放而被快速释放(并且新增了图片内存,提高了绘制效率)为什么
转载
2023-08-19 23:04:38
102阅读
说到RecyclerView,相信大家都不陌生,它是我们经典级ListView的升级版,升级后的RecyclerView展现了极大的灵活性。同时内部直接封装了ViewHolder,不用我们自己定义ViewHolder就能实现item的回收和复用功能。当然它肯定不止这些好处,比如我们可以自定义分割线,可以更加方便的实现列表的布局方式等等。虽说我们自己在第一次使用时,会比使用listView和grid
转载
2023-10-06 21:09:54
153阅读
ViewModel 是数据与 UI 分离的中间层,提供了一个将数据转换为 UI 友好型数据的场所。其次,它也提供了多 Fragment 复用相同 ViewModel 的机制。简单使用class UserViewModel(): ViewModel() {
val userLiveData = LiveData()
override fun onCleared(){
// clear 工作,例如 R
转载
2024-04-09 08:12:04
53阅读
Android中的ViewModel是一个可以用来存储UI相关的数据的类。ViewModel的生命周期会比创建它的Activity、Fragment的生命周期长。这里拿官方的一张图:ViewModel-Lifecycle这张图是在在没任何设置屏幕发生转换Activity的生命周期变化和ViewModel的生命周期。可以看重建的时候,ViewModel中的数据是不会被清理的。借助于上面这一特点,Vi
转载
2023-07-08 15:46:17
207阅读
android 浅析RecyclerView回收复用机制及实战,仿探探效果本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布浅析RecyclerView回收复用机制缓存机制-onTouchEvent()入口缓存机制-onLayout()入口复用机制探探效果实战 还是老套路,先来看看实现的效果! 浅析RecyclerView回收复用机制在写这个效果之前,需要熟悉Rv的回收复用机制,
转载
2024-06-12 23:03:54
212阅读
ListView复用、回收AbsListView.RecycleBinRecycleBin 维护了两种类型列表,一种用于保存屏幕上可见的View,一个用于缓存滚动出屏幕的ViewListView滑动过程中,子View完全移出屏幕后,会加入RecycleBin 缓存 子View进入屏幕时,从RecycleBin 中获取缓存View,用于数据绑定。RecyclerView 复用、回收滚动屏幕时,列表先
转载
2023-09-22 19:40:29
161阅读
字节跳动Android高级岗:说说RecyclerView的回收复用机制
转载
2023-06-26 08:08:28
211阅读
Bitmap 在app应用中是个占内存的大块头,google 公司也一直对它做优化,比如说存储机制,Android 2.3.3及以前版本,Bitmap 的像素点数据是保存在 Native Memory(C/C++),Bitmap对象则是保存在 Dalvik heap(Java); 从Android 3.0开始,像素点数据与Bitmap对象一起存储在 Dalvik heap中。从 Android 8
转载
2023-08-11 20:49:04
279阅读
在Android 2.3.3,使用recycle()来释放Bitmap占用的内存,但是你必须要等到该Bitmap不再使用时,才可以使用recyle()来释放Bitma占用的内存,否则的话会引起错误。
我们经常会使用到同一张图片,而Bitmap的创建和销毁是比较占用内存的开销的,所以我们可以自定义一个可复用的BitmapDrawable来管理Bitmap
转载
2023-12-08 16:22:19
373阅读
Android 应用程序启动,正常都是从Launcher里面点击应用图标,Luncher响应点击效果,开启对应的应用程序。Luncher本身就是一个应用程序,只是Android系统在启动后自动开启的一个应用程序。Activity的启动包括MainActivy和普通的activity,我们先大概的了解启动的流程后,再查看源码,这样了解的比较清晰,容易掌握。 分一下几个步骤: (1)Launche
转载
2023-06-29 17:15:08
177阅读
在Android开发中,getView方法是用于自定义ListView或GridView的每一项显示的关键部分。由于Android的View复用机制,getView方法的性能优化显得尤为重要。以下是解决“Android getView 复用”问题的详细记录,包括环境准备、分步指南、配置详解、验证测试、优化技巧以及排错指南。
## 环境准备
在进行Android开发时,需要确保开发环境得以正确配