如何查看内存条的大小偷Android的内存

怎么偷内存数据不会被发现! - 『悬赏问答区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 1379|回复: 4
怎么偷内存数据不会被发现!
头像被屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
不管你是谁 只要涉及到偷补丁数据 就绝对不仅仅是为了偷窃 肯定会抓住机会通过别人的补丁数据来寻求破解方法 也可以美其名曰“学习一下” 但这也是补丁制作者最不愿意看到的,因为方法都被你逆向出来了 他的补丁就不会显得那么独一无二了..所以这也是制作“制作补丁程序”的作者也在不断增强程序的防偷窃能力来保证别人能安心使用它的程序 总而言之,窃取他人的数据就是“大逆不道”。
不过防护再多也不能保证绝对的安全:
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
头像被屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
头像被屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
你这个没解决办法 只是个人在装B
早知道你是这副德性 我就潜水好了,你这种人是得不到别人的帮助的..
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.Android(36)
之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下
What is it
MemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制匿名共享内存,简单来说,Ashmem在Android内核中是被注册成一个特殊的字符设备,Ashmem驱动通过在内核的一个自定义缓冲区中初始化一段内存区域,然后通过mmap把申请的内存映射到用户的进程空间中(通过),这样子就可以在用户进程中使用这里申请的内存了,另外,Ashmem的一个特性就是可以在系统内存不足的时候,回收掉被标记为”unpin”的内存,这个后面会讲到,另外,MemoryFile也可以通过Binder跨进程调用来让两个进程共享一段内存区域。由于整个申请内存的过程并不再Java层上,可以很明显的看出使用MemoryFile申请的内存实际上是并不会占用Java堆内存的。
MemoryFile暴露出来的用户接口可以说跟他的名字一样,基本上跟我们平时的文件的读写基本一致,也可以使用InputStream和OutputStream来对其进行读写等操作:
MemoryFile&memoryFile&=&new&MemoryFile(null,&inputStream.available());
memoryFile.allowPurging(false);
OutputStream&outputStream&=&memoryFile.getOutputStream();
outputStream.write(1024);
上面可以看到allowPurging这个调用,这个就是之前说的”pin”和”unpin”,在设置了allowPurging为false之后,这个MemoryFile对应的Ashmem就会被标记成”pin”,那么即使在android系统内存不足的时候,也不会对这段内存进行回收。另外,由于Ashmem默认都是”unpin”的,因此申请的内存在某个时间点内都可能会被回收掉,这个时候是不可以再读写了
MemoryFile是一个非常trickly的东西,由于并不占用Java堆内存,我们可以将一些对象用MemoryFile来保存起来避免GC,另外,这里可能android上有个BUG:
在4.4及其以上的系统中,如果在应用中使用了MemoryFile,那么在dumpsys meminfo的时候,可以看到多了一项Ashmem的值:
可以看出来虽然MemoryFile申请的内存不计入Java堆也不计入Native堆中,但是占用了Ashmem的内存,这个实际上是算入了app当前占用的内存当中
但是在4.4以下的机器中时,使用MemoryFile申请的内存居然是不算入app的内存中的:
而且这里我也算过,也是不算入Native Heap中的,另外,这个时候去系统设置里面看进程的内存占用,也可以看出来其实并没有计入Ashmem的内存的
这个应该是android的一个BUG,但是我搜了一下并没有搜到对应的issue,搞不好这里也可能是一个feature
而在大名鼎鼎的Fresco当中,他们也有用到这个bug来避免在decode bitmap的时候,将文件的字节读到Java堆中,使用了MemoryFile,并利用了这个BUG然这部分内存不算入app中,这里分别对应了Fresco中的和,Fresco在decode图片的时候会在4.4和4.4以下的系统中分别使用这两个不同的decoder
从这个地方可以看出来,使用MemoryFile,在4.4以下的系统当中,可以帮我们的app额外”偷”一些内存,并且可以不计入app的内存当中
这里主要是简单介绍了MemoryFile的基本原理和用法,并且阐述了一个MemoryFile中一个可以帮助开发者”偷”内存的地方,这个是一个非常trickly的方法,虽然4.4以下使用这块的内存并不计入进程当中,但是并不推荐大量使用,因为当设置了allowPurging为false的时候,这个对应的Ashmem内存区域是被”pin”了,那么在android系统内存不足的时候,是不能够把这段内存区域回收的,如果长时间没有释放的话,这样子相当于无端端占用了大量手机内存而又无法回收,那对系统的稳定性肯定会造成影响
问啊-一键呼叫程序员答题神器,牛人一对一服务,开发者编程必备官方网站:
QQ群 聚集很多互联网精英,技术总监,架构师,项目经理!开源技术研究,欢迎业内人士,大牛及新手有志于从事IT行业人员进入!
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:76487次
积分:1115
积分:1115
排名:千里之外
转载:195篇
(6)(31)(111)(24)(6)(3)(2)(6)(1)(13)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'android内存溢出常见的几种情况
基于Android开发多媒体和游戏应用时,可能会挺经常出现Out Of Memory
异常,顾名思义这个异常是说你的内存不够用或者耗尽了。
&在Android中,一个Process
只能使用16M内存,如果超过了这个限制就会跳出这个异常。这样就要求我们要时刻想着释放资源。Java的回收工作是交给GC的,如何让GC能及时的回收已经不是用的对象,这个里面有很多技巧,大家可以google一下。
&因为总内存的使用超过16M而导致OOM的情况,非常简单,我就不继续展开说。值得注意的是Bitmap在不用时,一定要recycle,不然OOM是非常容易出现的。
& && 本文想跟大家一起讨论的是另一种情况:明明还有很多内存,但是发生OOM了。
这种情况经常出现在生成Bitmap的时候。有兴趣的可以试一下,在一个函数里生成一个13m
的int数组。
再该函数结束后,按理说这个int数组应该已经被释放了,或者说可以释放,这个13M的空间应该可以空出来,
这个时候如果你继续生成一个10M的int数组是没有问题的,反而生成一个4M的Bitmap就会跳出OOM。这个就奇怪了,为什么10M的int够空间,反而4M的Bitmap不够呢?
&&&&&&&这个问题困扰很久,在网上,国外各大论坛搜索了很久,一般关于OOM的解释和解决方法都是,如何让GC尽快回收的代码风格之类,并没有实际的支出上述情况的根源。
直到昨天在一个老外的blog上终于看到了这方面的解释,我理解后归纳如下:
&&&&&&&在Android中:
1.一个进程的内存可以由2个部分组成:java&使用内存,C&使用内存,这两个内存的和必须小于16M,不然就会出现大家熟悉的OOM,这个就是第一种OOM的情况。
2.更加奇怪的是这个:一旦内存分配给Java后,以后这块内存即使释放后,也只能给Java的使用,这个估计跟java虚拟机里把内存分成好几块进行缓存的原因有关,反正C就别想用到这块的内存了,所以如果Java突然占用了一个大块内存,即使很快释放了:
C能使用的内存 = 16M - Java某一瞬间占用的最大内存。
而Bitmap的生成是通过malloc进行内存分配的,占用的是C的内存,这个也就说明了,上述的4MBitmap无法生成的原因,因为在13M被Java用过后,剩下C能用的只有3M了。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。发送私信成功
满足所有需求,助您轻松工作
Android的内存如何“偷”
15:52 && 浏览量(503) &&
之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下。
What is it
MemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制Ashmem匿名共享内存,简单来说,Ashmem在Android内核中是被注册成一个特殊的字符设备,Ashmem驱动通过在内核的一个自定义slab缓冲区中初始化一段内存区域,然后通过mmap把申请的内存映射到用户的进程空间中(通过tmpfs),这样子就可以在用户进程中使用这里申请的内存了,另外,Ashmem的一个特性就是可以在系统内存不足的时候,回收掉被标记为”unpin”的内存,这个后面会讲到,另外,MemoryFile也可以通过Binder跨进程调用来让两个进程共享一段内存区域。由于整个申请内存的过程并不再Java层上,可以很明显的看出使用MemoryFile申请的内存实际上是并不会占用Java堆内存的。
MemoryFile暴露出来的用户接口可以说跟他的名字一样,基本上跟我们平时的文件的读写基本一致,也可以使用InputStream和OutputStream来对其进行读写等操作:
MemoryFile&memoryFile&=&new&MemoryFile(null,&inputStream.available());
memoryFile.allowPurging(false);
OutputStream&outputStream&=&memoryFile.getOutputStream();
outputStream.write(1024);
上面可以看到allowPurging这个调用,这个就是之前说的”pin”和”unpin”,在设置了allowPurging为false之后,这个MemoryFile对应的Ashmem就会被标记成”pin”,那么即使在android系统内存不足的时候,也不会对这段内存进行回收。另外,由于Ashmem默认都是”unpin”的,因此申请的内存在某个时间点内都可能会被回收掉,这个时候是不可以再读写了
MemoryFile是一个非常trickly的东西,由于并不占用Java堆内存,我们可以将一些对象用MemoryFile来保存起来避免GC,另外,这里可能android上有个BUG:
在4.4及其以上的系统中,如果在应用中使用了MemoryFile,那么在dumpsys meminfo的时候,可以看到多了一项Ashmem的值:
可以看出来虽然MemoryFile申请的内存不计入Java堆也不计入Native堆中,但是占用了Ashmem的内存,这个实际上是算入了app当前占用的内存当中
但是在4.4以下的机器中时,使用MemoryFile申请的内存居然是不算入app的内存中的:
而且这里我也算过,也是不算入Native Heap中的,另外,这个时候去系统设置里面看进程的内存占用,也可以看出来其实并没有计入Ashmem的内存的
这个应该是android的一个BUG,但是我搜了一下并没有搜到对应的issue,搞不好这里也可能是一个feature
而在大名鼎鼎的Fresco当中,他们也有用到这个bug来避免在decode bitmap的时候,将文件的字节读到Java堆中,使用了MemoryFile,并利用了这个BUG然这部分内存不算入app中,这里分别对应了Fresco中的GingerbreadPurgeableDecoder和KitKatPurgeableDecoder,Fresco在decode图片的时候会在4.4和4.4以下的系统中分别使用这两个不同的decoder
从这个地方可以看出来,使用MemoryFile,在4.4以下的系统当中,可以帮我们的app额外”偷”一些内存,并且可以不计入app的内存当中
这里主要是简单介绍了MemoryFile的基本原理和用法,并且阐述了一个MemoryFile中一个可以帮助开发者”偷”内存的地方,这个是一个非常trickly的方法,虽然4.4以下使用这块的内存并不计入进程当中,但是并不推荐大量使用,因为当设置了allowPurging为false的时候,这个对应的Ashmem内存区域是被”pin”了,那么在android系统内存不足的时候,是不能够把这段内存区域回收的,如果长时间没有释放的话,这样子相当于无端端占用了大量手机内存而又无法回收,那对系统的稳定性肯定会造成影响
References
Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析
Android Kernel Features(Ashmem)
& 收藏(0) 收藏 +1 已收藏 取消
& 推荐上头条 推荐 +1 推荐上头条 已推荐
文章上传作者
jsszxych的热门文章
开发者交流群:
DevStore技术交流群2:
运营交流群:
产品交流群:
深圳尺子科技有限公司
深圳市南山区蛇口网谷万海大厦C栋504
Copyright (C) 2015 DevStore. All Rights Reserved
DevStore用户登录
还没有DevStore帐号?
快捷登录:后使用快捷导航没有帐号?
平板/笔记本
云服务专区
再也不吃内存了Android6.0将引入墓碑机制
&神功盖世&
来自:浏览器
每一次Android有新版本发布时,都会有消息说512MB内存足够了,但每次都成为泡影。从Android2.3到5.1,512MB内存的确能够保证系统流畅。但安装了软件之后,一切都变了。
那么安卓系统就无可救药了吗?5月28日凌晨,谷歌正式发布了Android M(6.0开发者预览版)。新一代的Android M亮点多多,其中最大的特色就是“降低内存占用”。
那么Android 6.0救得了低配手机、小内存手机吗?别着急,看完本文之后,相信你一定能找到答案。
一、安卓的内存之痛
每次Android新版本发布前,都会有消息说512MB内存足够了,谷歌官方也说过这样的话。但谷歌说的512MB内存只是针对系统本身来说的,是指没有安装第三方软件的纯净环境下。
以本人曾经使用的天语W619(小黄蜂)为例,这是一款主频只有800MHz的单核手机,3.5英寸480x320的屏幕,512MB内存+512MB存储,原生系统为YunOS2012(基于安卓2.3)。
对于这样一款手机,天语作为三线甚至四线手机厂商,早就放弃了对它的系统升级,但我们却能够轻松在刷机大师的ROM基地上找到针对适配W619的CM11系统(Android4.4)。
小编在刷入之后也感觉非常流畅,没有任何的卡顿甚至没有bug,但安装了五六个软件之后,同时打开3个APP就卡不行了,功能越发强大、体积越发臃肿、内存占用量越来越高的手机APP对老机型来说就如催命符一样,想要流畅运行实在是太难了。
而Android4.4改变的不过是操作系统本身而已,它并不能对厂商的软件进行优化,所以,真正决定系统流畅程度的是第三方软件,尤其是微信、QQ以及浏览器等常用的应用程序,这也是为什么苹果对在Appleappstore上架的APP,在内存占用环节要求极为严格的原因。
二、全新的墓碑机制
因为安卓系统的开放性,很多APP无需上架谷歌商店(国内也上不去)也能发布,这就造成了手机APP质量良莠不齐的现象,因为针对APP开发没有标准、没有限制,所以很多软件都是赚钱怎么来,除了集成大量广告SDK外,还滥用安卓权限。绝大多数的手机APP,除了开机自启动,还经常在后台偷偷运行。
既然没办法在应用商店那一环节卡住这些流氓APP,谷歌决定从系统底层入手。在Android6.0中,谷歌官方还将对内存管理进行进一步的优化。对于非社交类的APP,安卓6.0会启用“墓碑机制”,后台运行时将不再占用内存。升级到安卓6.0后,512MB内存都可以流畅到爆。
与此前的“黄油计划”和“ART模式”相比,Android6.0的墓碑机制才是真正的治本之道。Android6.0将不再过分在意系统本身的流畅度,而是把注意力放在了第三方APP上,因为这有把这些不安分的APP给管好了,才不至于把原本就很流畅的系统给拖慢。
这一举措如果能够顺利实施,安卓用户真的是要感动哭了。Android 6.0将拥有媲美WP与iOS系统的流畅性,你的手机再也不会卡成狗了。小伙伴们,坐等好消息吧!(ROM基地)
width:100%">
&禁止访问&
来自:浏览器
提示: 作者被禁止或删除 内容自动屏蔽
width:100%">
&天下无双&
来自:浏览器
感谢分享,这样的话就太好了。
width:100%">
&登堂入室&
来自:浏览器
很美好的愿望
width:100%">
&炉火纯青&
来自:浏览器
安卓M,不一定是6.0
更可能是5.X
width:100%">
&渐入佳境&
来自:浏览器
width:100%">
&渐入佳境&
来自:浏览器
width:100%">
&天下无双&
来自:浏览器
width:100%">
&略有小成&
来自:浏览器
如果我的小三有6.0的就好了~
width:100%">
&独步江湖&
来自:浏览器
太好了,换手机
width:100%">
1000万花粉
纪念花粉俱乐部注册花粉数超过1000万
好基友勋章
花粉好机友,注册时间大于99天
参加花粉俱乐部特定活动获取,人工发放
随手拍达人
在“花粉随手拍”中发布优质随手拍即有机会获取勋章。
新疆秋色--胡杨林极简国庆去公园蝶蝶不休霜叶红于二月花炸裂的开场
花粉客户端
Make it Possible
Make your device special
华为云服务
Huawei cloud services
音乐播放器
Huawei Music
Huawei Vmall
没有最新动态
关注花粉俱乐部
举报邮箱:
|关注花粉俱乐部:
Copyright (C)
华为软件技术有限公司 版权所有 保留一切权利

我要回帖

更多关于 修手机偷换内存 的文章

 

随机推荐