Instruments 中的 CoreGraphics 导致的大内存占用

     2023-03-07     178

关键词:

【中文标题】Instruments 中的 CoreGraphics 导致的大内存占用【英文标题】:Large memory footprint caused by CoreGraphics in Instruments 【发布时间】:2010-11-04 12:29:34 【问题描述】:

我正在设备上的 Instruments 中为正在开发的 iPhone 应用程序进行一些性能测试。

我看到分配的两个最大内存块不是通过我的任何自定义方法(据我所知)。

截图 1:http://i.stack.imgur.com/yFFux.png

应用程序的背景是它是一个应用程序,它使用 CoreData 来使用 Web 服务并存储/显示数据。然后下载(异步)链接的图像,在应用程序中调整为更小的尺寸,然后显示新图像。我原本以为是图片的问题,但是在离线模式下测试应用程序,没有下载数据或图片,仍然出现 4.5mb 的大型 Malloc。

我正在努力确定内存占用的来源,并最终尝试通过 AutoRelease 池或其他方式减少/删除它。

【问题讨论】:

对不起,第二张截图可能是调用树中最重要的,但只能发布截图:imgur.com/ZL8JP 【参考方案1】:

从几张截图中很难诊断出内存问题。最好的办法是更多地了解仪器和内存分析,以便您自己确定问题所在。我强烈推荐观看WWDC 2010 session 310 - Advanced Memory Analysis with Instruments。它确实帮助我了解了我的应用程序中的问题所在。

【讨论】:

感谢您的建议,我已经遵循了。它帮助我找到了识别何时将其添加到堆中的第一部分,但它在 Instruments 中显示为 ,因此不确定如何管理它。有什么想法吗? 应用中的总有效字节数是多少?你泄漏任何内存吗?发现任何僵尸?

Xcode 8.3+ 中的 Instruments 选项在哪里?

】Xcode8.3+中的Instruments选项在哪里?【英文标题】:WhereareInstrumentsoptionsinXcode8.3+?【发布时间】:2017-08-2317:03:10【问题描述】:根据XcodeInstruments8.3DisplaySettingsbuttonmissing,以前在Instruments8.2.1右侧“记录设置”窗格中显示的许多选... 查看详情

Instruments 中的 UIRecorder - iPhone SDK

】Instruments中的UIRecorder-iPhoneSDK【英文标题】:UIRecorderinInstruments-IPhoneSDK【发布时间】:2010-06-2108:59:39【问题描述】:嗨,在Instruments中使用UIRecorder是iPhoneSDK自带的,如何播放存储为.trace文件的录制动作。请告诉我..!谢谢纳加拉... 查看详情

为啥 Zombie Instruments 工具中的分配继续上升,而 Allocations Instruments 工具中却没有

】为啥ZombieInstruments工具中的分配继续上升,而AllocationsInstruments工具中却没有【英文标题】:WhydoallocationscontinuetoriseinZombieInstrumentstoolwhentheydon\'tinAllocationsInstrumentstool为什么ZombieInstruments工具中的分配继续上升,而AllocationsInstrumen... 查看详情

Instruments 中的 CoreGraphics 导致的大内存占用

】Instruments中的CoreGraphics导致的大内存占用【英文标题】:LargememoryfootprintcausedbyCoreGraphicsinInstruments【发布时间】:2010-11-0412:29:34【问题描述】:我正在设备上的Instruments中为正在开发的iPhone应用程序进行一些性能测试。我看到分... 查看详情

我在 UIAutomation/Instruments 中的第一个 Javascript

】我在UIAutomation/Instruments中的第一个Javascript【英文标题】:MyfirstJavascriptinUIAutomation/Instruments【发布时间】:2011-06-0103:06:09【问题描述】:我想自动化测试我的iPhone应用程序,我为UIAutomation框架编写了一个示例Javascript。我无法越... 查看详情

检查 Instruments 中的内存分配

】检查Instruments中的内存分配【英文标题】:CheckingmemoryallocationinInstruments【发布时间】:2010-11-0620:51:46【问题描述】:我已经使用泄漏工具清除了我的应用程序的泄漏,但我仍然注意到,当我切换视图时,objectalloc工具在分配的... 查看详情

通过 Instruments 中的脚本编辑器在 iPhone 应用程序中输入文本

】通过Instruments中的脚本编辑器在iPhone应用程序中输入文本【英文标题】:EnteringtextinaniPhoneappviatheScriptEditorinInstruments【发布时间】:2015-01-0712:11:07【问题描述】:我正在使用Instruments的RecordingManualUserInterfaceActionsintoAutomationScripts... 查看详情

替代 DTSendSignalFlag 来识别 Instruments 中的关键事件?

】替代DTSendSignalFlag来识别Instruments中的关键事件?【英文标题】:AlternativetoDTSendSignalFlagtoidentifykeyeventsinInstruments?【发布时间】:2013-10-0119:23:27【问题描述】:曾经有一个不错的工具DTSendSignalFlag,它是DTPerformanceSession框架的一部... 查看详情

UITableViewCell 强引用周期,但未被 Instruments 中的 Leaks 拾取

】UITableViewCell强引用周期,但未被Instruments中的Leaks拾取【英文标题】:UITableViewCellstrongreferencecycle,butnotbeingpickedupbyLeaksinInstruments【发布时间】:2020-08-0122:30:54【问题描述】:我正在使用自定义UITableViewCells填充UITableView,每个UITab... 查看详情

自动释放会隐藏 Instruments 中的泄漏吗?

】自动释放会隐藏Instruments中的泄漏吗?【英文标题】:DoesautoreleasehideleaksinInstruments?【发布时间】:2012-01-1914:28:38【问题描述】:这是一个似乎可以欺骗Leaks的场景:从Nib或使用alloc/init生成UIView*v。分配、初始化和自动释放更多... 查看详情

Instruments 文件中的核心动画无法打开且无数据

】Instruments文件中的核心动画无法打开且无数据【英文标题】:CoreAnimationinInstrumentsfilecan\'topenandNoData【发布时间】:2013-05-3003:04:28【问题描述】:我希望有人能启发我:保存跟踪文件(例如:filename.trace)并通过电子邮件发送后... 查看详情

在 Xcode 中的 Instruments 自动化模板中读取 UILabel 的值

】在Xcode中的Instruments自动化模板中读取UILabel的值【英文标题】:ReadthevalueofaUILabelinAutomationtemplateofInstrumentsinXcode【发布时间】:2016-04-1113:12:45【问题描述】:我编写了以下脚本来点击UI上的按钮。每次按下都会增加UILabel的整数... 查看详情

了解 Alloc 的 Instruments 结果中的负责任调用者

】了解Alloc的Instruments结果中的负责任调用者【英文标题】:UnderstandingresponsiblecallersinInstrumentsResultsforAlloc【发布时间】:2011-11-2910:51:14【问题描述】:我正在使用工具来确定消耗更多内存的原因。我总是让生活字节和整体字节相... 查看详情

Instruments->Leaks 中的信息按钮和百分比含义

】Instruments->Leaks中的信息按钮和百分比含义【英文标题】:InfobuttonandpercentagemeaninginInstruments->Leaks【发布时间】:2011-09-2021:25:23【问题描述】:仪器中突出显示的行旁边显示的百分比是什么意思?(当您双击符号名称时,此... 查看详情

如何查看通过 Instruments 中的 Time Profiler 运行的 OS X 程序的输出?

】如何查看通过Instruments中的TimeProfiler运行的OSX程序的输出?【英文标题】:HowcanIseetheoutputofanOSXprogrambeingrunviatheTimeProfilerinInstruments?【发布时间】:2020-01-2723:31:36【问题描述】:由于某种原因,我的OSX应用程序在使用时间分析器... 查看详情

iOS Instruments:计时器的时间与调用树中的运行时间总和不匹配

】iOSInstruments:计时器的时间与调用树中的运行时间总和不匹配【英文标题】:iOSInstruments:Timer\'stimeisnotmatchingwiththesumofrunningtimesincalltree【发布时间】:2015-07-0104:03:25【问题描述】:我正在使用iOSInstruments分析应用程序的缓慢性能... 查看详情

在 Instruments 中进行分析时出现 SIGSEGV(Bad Memory Access)错误

】在Instruments中进行分析时出现SIGSEGV(BadMemoryAccess)错误【英文标题】:SIGSEGV(BadMemoryAccess)errorwhileprofilinginInstruments【发布时间】:2018-12-0321:56:20【问题描述】:我正在尝试使用Instruments工具中的LeakProfiler捕获内存泄漏并保留周... 查看详情

在 Instruments 中查找内存泄漏线

】在Instruments中查找内存泄漏线【英文标题】:FindingthelineofmemoryleakinInstruments【发布时间】:2013-02-0510:31:18【问题描述】:我是iOS中Instruments的新手。我正在尝试查找仪器中的内存泄漏,并使用Xcode4.5.2并遵循本教程:http://soulwithm... 查看详情