Android笔记-Activity相关+内存泄漏
看了下,上次学习android还是17年的事情,,,,两年过去了我现在终于来搞android了。。。
以下内容参考自:《Android从学习到产品》,《深入理解java虚拟机》,《操作系统之哲学原理》
先甩一部分定义:
1.每一个Activity都可以启动另一个Activity来完成不同的动作,每一次一个Activity启动,前一个Activity就停止了,但是系统保留一个Activity在一个栈上(Back stack)。当一个新的Activity启动时,它会被推送到栈顶,取得用户焦点。Back Stack 符合简单的“后进先出”原则,所以当用户完成当前Activity后单击Back按钮,它会被弹出栈(并且被摧毁),然后之前的Activity恢复。
这里延申一下(猜测,没有看过具体的Android底层,不确定是不是准确的),这个Activity存储的back stack 应该是jvm中的VM Stack。
同步一下VM Stack是什么,就要讨论jvm的运行,java虚拟机在执行java程序的过程中,会把它所管理的内存划分为若干个不同的数据区域,VM Stack是其中一个区域。
VM Stack (java virtual machine stacks)是线程私有的,他的生命周期与线程相同。(线程概念补充一下:运行中的程序叫进程,一个进程占有一段内存来执行这个程序,一个进程我们可以拆分为多个线程,多个线程使用同一段内存空间来协同工作完成进程。线程是进程里面的一个执行上下文,或者执行序列。对于单核来说,一个时间段只能handle一个线程,多核可以有多个线程同时执行,从而提高进程的执行速度)
VM stack 描述的是java方法执行的内存模型:每个方法执行的同时都会创建一个栈帧(stack Frame)用于存储局部变量表,操作数栈,动态链接,方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。
那么对于Android来说,内存泄漏的场景有:1.Activity过多,内存占满,无法创建新的Activity对象;2.多个Activity单例化后,一直占据内存资源,无法释放;
具体怎么做的还没有头绪,等开发完了再研究吧。
转载于:https://www.cnblogs.com/zhizhiyin/p/11199246.html
Android笔记-Activity相关+内存泄漏相关推荐
- android性能优化 掘金,Android性能优化之内存泄漏
内存泄漏:内存单元使用完成后未释放,未回收. 理解强弱引用和gc垃圾回收机制后,会更好的理解内存泄漏问题. 在目前的Android项目中,内存泄漏是无法避免的,在编写代码时要是否产生了内存泄漏.内存泄 ...
- Android 性能优化之内存泄漏检测以及内存优化(上)
在 Java 中,内存的分配是由程序完成的,而内存的释放则是由 Garbage Collecation(GC) 完成的,Java/Android 程序员不用像 C/C++ 程序员一样手动调用相关函数来 ...
- iOS中滤镜处理及相关内存泄漏问题的解决
iOS中滤镜处理及相关内存泄漏问题的解决 参考文章: (1)iOS中滤镜处理及相关内存泄漏问题的解决 (2)https://www.cnblogs.com/ToBeTheOne/p/5708906.h ...
- 【Android -- 学习笔记】Handler 内存泄漏分析及解决
一.介绍 首先,请浏览下面这段 handler 代码: public class SampleActivity extends Activity {private final Handler mLea ...
- Android Studio +MAT 分析内存泄漏实战
点击打开链接 对于内存泄漏,在Android中如果不注意的话,还是很容易出现的,尤其是在Activity中,比较容易出现,下面我就说下自己是如何查找内存泄露的. 首先什么是内存泄漏? 内存泄漏就是一些 ...
- android中常见的内存泄漏和解决的方法
android中的内存溢出预计大多数人在写代码的时候都出现过,事实上突然认为工作一年和工作三年的差别是什么呢.事实上干的工作或许都一样,产品汪看到的结果也都一样,那差别就是速度和质量了. 写在前面的一 ...
- android内存泄漏原因分析,Android Studio3.6的内存泄漏检测功能 VS LeakCanary
2020年2月,谷歌发布了Android Studio 3.6版.它包括一个新的"内存泄漏检测"功能.这是否意味着我们不再需要流行的内存泄漏检测库"Leak Canary ...
- Android 如何有效的解决内存泄漏的问题
前言:最近在研究Handler的知识,其中涉及到一个问题,如何避免Handler带来的内存溢出问题.在网上找了很多资料,有很多都是互相抄的,没有实际的作用. 本文的内存泄漏检测工具是:LeakCana ...
- android 栏目编辑,android – 编辑文本导致内存泄漏
介绍: 我有一个应用程序具有以下结构: ActionBar顶部(ActionBarSherlock) ViewPagerIndicator下面(对于选项卡) ViewPager(主机片段) 我有一个问 ...
最新文章
- Node.js 11.12.0 发布,服务器端的 JavaScript 运行环境
- 【每日一包0029】merge-descriptors
- K8S常见错误、原因及处理方法
- 攻击防护手段_如何防护ddos流量攻击?
- mysql ngram_MySQL ngram全文解析器
- Mybatis-plus 大数据量数据流式查询通用接口
- JAVASCRIPT干了不下四五种工作
- C中位域结合对齐(pragma)的例子及解释
- setTimeout、setInterval解刨
- 资源放送丨《高并发Oracle OLTP系统的故障案例分享》PPT视频
- 你在支付宝上搞钱,“90后”却在相亲
- python基础学习(四)if判断语句
- Android SystemProperties系统属性详解
- SCI-hub论文下载器(附下载方法)
- npp++常用的匹配正则表达式
- 词汇处理——词义辨析消歧(一)
- 算术编码原理及其python实现
- DCloud是什么?
- SQL注入之order by注入与limit注入
- 计蒜客 T1609 掷骰子
热门文章
- java学习(125):简单异常处理
- 华为IoT平台NB编解码插件开发详细教程【下篇】
- python利用缩进写模块_Python之缩进块
- 无法创建接口的实例_什么是接口?
- 16.Python略有小成(内置模块Ⅱ)
- 简单理解bash和常规操作
- http://www.a.cn/?a.b=1 取a.b的值
- webScoket的浅短的认识
- C++11: final与override
- 基于Response的将数据导出到Excel