Android Static分析
1.static的变量或者方法会放在内存的一个方法区内
2.static变量会在该变量所属的类从内存中释放掉之后. 才会释放掉而类释放的条件是非常苛刻的. 必需要该类相应的全部对象被释放掉. 同一时候内存不足的时候, 虚拟机才会释放类. 由于虚拟机会做缓存处理, 方便下次使用该类生成对象有更快的速度. 内存充足的情况是不会释放掉。
3.在安卓中不太建议使用static做为一个须要赋值的变量。由于如今非常多清理内存的程序,比如小米、360等。在清理系统内存的时候都会把static的值清除掉,当你下次再用的时候。这个static的值又会变成你赋值之前的那个值了,这样你的APP就非常easy出现异常或者空指针,建议把全局变量的值保存到SharedPreferences中。这样做比較保险(变量放到Application里,我试过,也会被回收的)。
參考链接:
http://blog.csdn.net/big_man/article/details/41984311
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-mmry-rcycl/index.html
http://blog.csdn.net/veryitman/article/details/6823430
http://blog.csdn.net/ctcwri/article/details/8858414
Android Static分析的更多相关文章
- Android多线程分析之五:使用AsyncTask异步下载图像
		
Android多线程分析之五:使用AsyncTask异步下载图像 罗朝辉 (http://www.cnblogs.com/kesalin) CC 许可,转载请注明出处 在本系列文章的第一篇<An ...
 - Android多线程分析之四:MessageQueue的实现
		
Android多线程分析之四:MessageQueue的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处 在前面两篇文章<Androi ...
 - Android多线程分析之三:Handler,Looper的实现
		
Android多线程分析之三:Handler,Looper的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处 在前文<Android多 ...
 - Android多线程分析之二:Thread的实现
		
Android多线程分析之二:Thread的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处 在前文<Android多线程分析之一 ...
 - Android多线程分析之一:使用Thread异步下载图像
		
Android多线程分析之一:使用Thread异步下载图像 罗朝辉 (http://www.cnblogs.com/kesalin) CC 许可,转载请注明出处 打算整理一下对 Android F ...
 - Android架构分析之Android消息处理机制(二)
		
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...
 - Android架构分析之使用自定义硬件抽象层(HAL)模块
		
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本:2.3.7_r1 Linux内核版本:android-goldfish-2.6.29 在上一篇博 ...
 - Android群英传笔记——第五章:Android Scroll分析
		
Android群英传笔记--第五章:Android Scroll分析 滑动事件算是Android比较常用的效果了,而且滑动事件他本身也是有许多的知识点,今天,我们就一起来耍耍Scroll吧 一.滑动效 ...
 - Android Launcher分析和修改6——页面滑动(PagedView)
		
本来打算分析CellLayout的源码,不过因为它们之间是容器包含关系,所以打算先把PagedView分析.PagedView代码很多,今天主要是分析跟核心功能相关的代码.PagedView主要实现一 ...
 
随机推荐
- fs-max、file-nr和nofile的关系
			
1. file-max /proc/sys/fs/file-max: 这个文件决定了系统级别所有进程可以打开的文件描述符的数量限制,如果内核中遇到VFS: file-max limit <num ...
 - 前端必须收藏的CSS3动效库!!!
			
现在的网站和App的设计中越来越重视用户体验,而优秀的动效则能使你的应用更具交互性,从而吸引更多用户的使用. 如果你对CSS3中定义动效还不熟练,或希望采用更加简单直接的方式在你的应用中引入动效的话, ...
 - Java多线程学习之线程池源码详解
			
0.使用线程池的必要性 在生产环境中,如果为每个任务分配一个线程,会造成许多问题: 线程生命周期的开销非常高.线程的创建和销毁都要付出代价.比如,线程的创建需要时间,延迟处理请求.如果请求的到达率非常 ...
 - [转载] Jupiter代码审查工具使用参考
			
转载自http://blog.csdn.net/jemlee2002/article/details/5715355 一. Jupiter 是什么? 这里的 Jupiter 是一个开源的代 ...
 - ReentrantLock可重入锁的使用场景
			
摘要 从使用场景的角度出发来介绍对ReentrantLock的使用,相对来说容易理解一些. 场景1:如果发现该操作已经在执行中则不再执行(有状态执行) a.用在定时任务时,如果任务执行时间可能超过下次 ...
 - 【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)
			
原文地址:http://hi.baidu.com/tbjmnvbagkfgike/item/6743ab10af43bb24f6625cc5 最近写程序需要用到xml操作,看了看python.org上 ...
 - SpringBoot之彩色输出
			
spring.output.ansi.enabled NEVER:禁用ANSI-colored输出(默认项) DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项) ALWAYS:总 ...
 - Unity3D高性能战争迷雾实现
			
效果图 先上效果图吧,这是为了吸引到你们的ヽ(。◕‿◕。)ノ゚ 战争迷雾效果演示图 战争调试界面演示图 由于是gif录制,为了压缩图片,帧率有点低,实际运行时,参数调整好是不会像这样一卡一顿的. 战争 ...
 - (一)IDEA工具开第一个springboot应用之helloworld
			
(一)IDEA工具开第一个springboot应用之helloworld 一.前置知识 1.maven相关知识 2.spring注解 3.RESTful API 二.idea开发第一个springbo ...
 - 异常:Unknown lifecycle phase "mvn". You must specify a valid lifecycle
			
这是在使用maven打包方式启动springboot项目时出现的异常, 我的异常原因属于下面的情况: 此时maven指令行为:mvn spring-boot:run. 如果写成这样会导致最终的mave ...