Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。

简介: Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。

Activity中,View#postDelay会导致内存泄漏,但是不会影响Activity的生命周期执行。

测试代码如下:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.e(TAG, "onCreate");
    iv = findViewById(R.id.iv);

    iv.postDelayed(new Runnable() {
        @Override
        public void run() {
            Log.e(TAG, "我是延时消息");
        }
    }, 10000);

}


@Override
protected void onPause() {
    super.onPause();
    Log.e(TAG, "onPause");
}


@Override
protected void onStop() {
    super.onStop();
    Log.e(TAG, "onStop");
}


@Override
protected void onDestroy() {
    super.onDestroy();
    Log.e(TAG, "onDestroy");
}

log如下:

2021-05-07 20:37:06.234 14974-14974/com.tinytongtong.androidstudy E/GlideV4Activity: onCreate
2021-05-07 20:37:07.844 14974-14974/com.tinytongtong.androidstudy E/GlideV4Activity: onPause
2021-05-07 20:37:08.245 14974-14974/com.tinytongtong.androidstudy E/GlideV4Activity: onStop
2021-05-07 20:37:08.249 14974-14974/com.tinytongtong.androidstudy E/GlideV4Activity: onDestroy
2021-05-07 20:37:16.304 14974-14974/com.tinytongtong.androidstudy E/GlideV4Activity: 我是延时消息
相关文章
|
6天前
|
存储 安全 Java
Python中的引用和赋值机制允许变量引用内存中的对象,并通过引用计数来管理对象的生命周期
【5月更文挑战第14天】Python中的变量是对象引用,不存储数据,而是在内存中创建对象。赋值操作创建新变量并使其指向已有对象。引用计数用于管理对象生命周期,引用数为0时对象被回收。理解这些机制对编写高效Python代码很重要。
18 6
|
6天前
3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解)
3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解)
18 0
|
6天前
|
Rust 安全 编译器
Rust中的生命周期与借用检查器:内存安全的守护神
本文深入探讨了Rust编程语言中生命周期与借用检查器的概念及其工作原理。Rust通过这些机制,在编译时确保了内存安全,避免了数据竞争和悬挂指针等常见问题。我们将详细解释生命周期如何管理数据的存活期,以及借用检查器如何确保数据的独占或共享访问,从而在不牺牲性能的前提下,为开发者提供了强大的内存安全保障。
|
9月前
|
存储 C语言
|
存储 JavaScript 算法
JS内存管理生命周期和垃圾回收机制
JS内存管理生命周期和垃圾回收机制
231 0
|
存储 前端开发 Linux
Android窗口管理分析(4):Android View绘制内存的分配、传递、使用
Android窗口管理分析(4):Android View绘制内存的分配、传递、使用
309 0
【杂谈接口】接口对象的生命周期-对象所占用的内存块清理
【概述】 相信经常使用接口的朋友们,经常碰到访问违规异常(Access violation),很多情况下无法理解,认为是编译器的Bug,然后去绕开它,不追其根源,把责任推给IDE,推给编译器(其实本人以前也经常这样想)。
780 0
|
Android开发 调度 Java
RxJava 和 RxAndroid 三(生命周期控制和内存优化)
rxjava rxandroid 赵彦军 前言:对Rxjava、Rxandroid不了解的同学可以先看看RxJava 和 RxAndroidRxJava 和 RxAndroid 二(操作符的使用) RxJava使我们很方便的使用链式编程,代码看起来既简洁又优雅。
1086 0
|
存储 C语言
指针,c语言关键字,作用域,生命周期,内存数据存储
 作用域:变量可被访问的有效范围。 生命周期:变量存储空间的有效生存时间。 extern int c;   通过关键字extern来告诉程序int c;是别的程序中定义的。 extern int fun(void); 表示这个方式是在其它的文件中定义的。 全局变量在程序的任何地方都可以被调用到,生命周期是从程序启动到程序
1264 0