社区
高通开发者论坛
帖子详情
Brew内存管理问题
xu_puma
2009-08-10 09:32:23
各位好,我在每进入一个应用之前打印当前的内存情况,包括可用内存,可用申请的最大内存块,发现
有可用申请的最大内存块减少,可用使用的内存也减少,可能产生的内存碎片,想请教各位大侠,如何整理
Brew的内存碎片呢?谢谢
...全文
2222
12
打赏
收藏
Brew内存管理问题
各位好,我在每进入一个应用之前打印当前的内存情况,包括可用内存,可用申请的最大内存块,发现 有可用申请的最大内存块减少,可用使用的内存也减少,可能产生的内存碎片,想请教各位大侠,如何整理 Brew的内存碎片呢?谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hhygcy
2009-08-28
打赏
举报
回复
[Quote=引用 11 楼 xu_puma 的回复:]
引用 10 楼 chenmeimei_8899 的回复:
内存减少肯定是内存泄露,内存泄露也不难查,在模拟器或者真机上都可以很开的查出来。
在模拟上进入你要查内存泄露的应用,按挂机键退出,在output windows中就可以看到内存泄露的.c及对应的函数,在真机上用QXDM的用同样的方法也可以看到这些信息。
内存减少肯定不一定是内存泄露的啊,有的是后台应用,第一次进去就减少些,如果后台应用多的话,占用的内存就多,现在我的最大可用内存是3M多,开始申请最大的内存块是2M多,进入一些应用后,内存减少,最后最大申请内存块的只有1M不多了。可是各种跟踪显示无内存泄露!
[/Quote]
有些概念要搞清楚, brewAppManager这个东西是一个进程(Process),那些brew的应用程序只是一个DLL.
在关闭你的程序的时候,你程序分配的内存应该程序本身自觉删除,如果你注册的releasaApp函数没有把自己的内存或者资源删除干净的话,在brewAppManager这个进程没有关闭之前是不会被操作系统回收掉的。
你现在的情况,刚开始3M,进入其他程序之后,在进入你的程序,内存只有2M了,有可能其他的程序正在泄露内存。你可以尝试的情况是重启机器(确保brewAppManager关闭)重新再测试你的可用内存,看看到底是那个应用导致了内存泄露
xu_puma
2009-08-28
打赏
举报
回复
[Quote=引用 10 楼 chenmeimei_8899 的回复:]
内存减少肯定是内存泄露,内存泄露也不难查,在模拟器或者真机上都可以很开的查出来。
在模拟上进入你要查内存泄露的应用,按挂机键退出,在output windows中就可以看到内存泄露的.c及对应的函数,在真机上用QXDM的用同样的方法也可以看到这些信息。
[/Quote]
内存减少肯定不一定是内存泄露的啊,有的是后台应用,第一次进去就减少些,如果后台应用多的话,占用的内存就多,现在我的最大可用内存是3M多,开始申请最大的内存块是2M多,进入一些应用后,内存减少,最后最大申请内存块的只有1M不多了。可是各种跟踪显示无内存泄露!
FLYUP_CHEN
2009-08-24
打赏
举报
回复
内存减少肯定是内存泄露,内存泄露也不难查,在模拟器或者真机上都可以很开的查出来。
在模拟上进入你要查内存泄露的应用,按挂机键退出,在output windows中就可以看到内存泄露的.c及对应的函数,在真机上用QXDM的用同样的方法也可以看到这些信息。
lhy_hetty
2009-08-23
打赏
举报
回复
打印所有MALLOC的内存地址,调试时注意看
收索bpoint 1看看是哪分配的
alex_goacross
2009-08-21
打赏
举报
回复
内存泄露的问题,在Brew里边是很头疼的。
处理的不好,会造成机器重启,更严重会出现死机的情况。
个人经验:
1。MALLOC,FREE配对使用。
2。接口实例不用记得释放。
3。Extension使用,一定显示的NULL。
4。IDIB,IBitmap使用完记得释放。
半吊子全栈工匠
2009-08-19
打赏
举报
回复
Purify可以帮助查一下内存泄露
半吊子全栈工匠
2009-08-18
打赏
举报
回复
的确如此,要分清内存泄露,内存碎片会由系统处理的
kingfenggg
2009-08-18
打赏
举报
回复
内存减少不是碎片的原因,极可能是内存泄露,注意指针的使用,如果是C的话看一看你的MALLOC与FREE是不是成对出现的,导致动态分配的内存未释放导致内存减少。
liujie1008_cn
2009-08-18
打赏
举报
回复
内存泄露,多查查,积累积累点经验就晓得了
猫腻儿姐姐
2009-08-18
打赏
举报
回复
内存泄露的问题不好查,只能在写代码的时候加倍留心。
不过你可以在程序写好后,不打任何断点,点调试不执行,把代码功能测试一边,然后再输出窗口看有没有内存泄露的信息。
tx040316
2009-08-13
打赏
举报
回复
如果是内存碎片你就不用管,系统会处理,如果是内存泄露的话你就要自己去查了。
hhygcy
2009-08-11
打赏
举报
回复
如果内存减少了 很可能是出现了内存泄露
不知道你现在是用C写的程序还是C++
如果是C++的话,一般会弄重载一下new/delete操作符来侦测一下
brew
内存调试.doc
###
BREW
内存调试详解 #### 一、引言
BREW
(Binary Runtime Environment for Wireless)是一种由高通公司开发的应用程序开发平台,主要用于移动设备上应用程序的开发与部署。随着移动互联网技术的发展,
BREW
成为了...
BREW
手机游戏的
内存管理
BREW
手机游戏的
内存管理
BREW
Memory Leak Checker
在移动设备开发中,
内存管理
是至关重要的,因为有限的资源使得内存泄漏可能导致性能下降、应用崩溃甚至设备重启。
BREW
Memory Leak Checker通过提供详细的内存泄漏位置的调用栈信息,帮助开发者识别并修复这些
问题
。...
深入
brew
开发
brew
进阶资料
硬件基础章节讲解了
BREW
运行的硬件环境,包括处理器架构、
内存管理
以及与移动设备相关的硬件特性。
BREW
原理章节深入剖析了
BREW
系统的工作机制,包括其执行模型、内存模型和多任务处理等核心概念。软件基础则涵盖了...
BREW
Applet管理机制
在
BREW
(Binary Runtime Environment for Wireless)平台上,Applet的管理机制主要分为静态Applet和动态Applet。静态Applet是通过静态编译的方式,将本地Applet与手机平台软件、操作系统整合在一起,然后一次性下载...
高通开发者论坛
4,662
社区成员
5,858
社区内容
发帖
与我相关
我的任务
高通开发者论坛
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
复制链接
扫一扫
分享
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能
物联网
机器学习
技术论坛(原bbs)
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章