博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
处理 InputMethodManager 内存泄露的正确姿势
阅读量:2208 次
发布时间:2019-05-04

本文共 1310 字,大约阅读时间需要 4 分钟。

当 MainActivity 被关闭时没有正确的被回收,查看了下内存,因为被 InputMethodManager 引用了,简直莫名其妙,根本没有使用到这货。

这里写图片描述

原因及解决方案见此

创建一个启动后就关闭的 Activity

package com.memory.test;import android.os.Bundle;import android.os.Handler;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;/** * Created by amitshekhar on 06/05/16. */public class DummyActivity extends AppCompatActivity {
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); new Handler().postDelayed(new Runnable() { @Override public void run() { finish(); } }, 500); }}

为它创建一个透明的的 style

声明一下

在 MainAcitivity 结束的时候启动它

// Write this in onBackPress of your MainActivitypublic class MainActivity extends AppCompatActivity{
@Override public void onBackPressed() { super.onBackPressed(); // This is important : Hack to open a dummy activity for 200-500ms (cannot be noticed by user as it is for 500ms // and transparent floating activity and auto finishes) startActivity(new Intent(this, DummyActivity.class)); finish(); }}
你可能感兴趣的文章
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>