目标c – UILabel分配持续并占用8Mb的内存
发布时间:2020-12-16 05:37:43 所属栏目:百科 来源:网络整理
导读:我有一组标签放在单个UIScrollView内的一组UIViews中. 他们没有被分配出口.我正在使用所有的Avenir Next Ultralight字体,并且它们具有不同的大小. 主视图具有嵌入在导航控制器中的单个视图控制器. 我刚刚通过一个分配检查,并注意到,通过这种单一视图加载消耗
我有一组标签放在单个UIScrollView内的一组UIViews中.
他们没有被分配出口.我正在使用所有的Avenir Next Ultralight字体,并且它们具有不同的大小. 主视图具有嵌入在导航控制器中的单个视图控制器. 我刚刚通过一个分配检查,并注意到,通过这种单一视图加载消耗大约10MB的内存,其中8MB是这些标签,当我进入下一个视图,该分配仍然存在. 可能是什么原因造成的? 这是记录分配的快照. Snapshot Timestamp Growth # Persistent VM: UILabel (CALayer) 7.90 MB 10 0x5417000 00:02.950.428 1.23 MB 0x5553000 00:02.967.675 1.23 MB 0x568f000 00:02.978.283 1.23 MB 0x591d000 00:03.013.095 832.00 KB 0x57cb000 00:03.004.334 832.00 KB 0x50a7000 00:02.919.040 832.00 KB 0x5177000 00:02.937.076 832.00 KB 0x5347000 00:02.940.969 832.00 KB 0x52d3000 00:02.998.823 120.00 KB 0x52f1000 00:03.023.068 16.00 KB 这是第一个堆栈跟踪,其余的是相同的: 0 libsystem_kernel.dylib mach_vm_allocate 1 libsystem_kernel.dylib vm_allocate 2 QuartzCore CA::Render::Shmem::new_shmem(unsigned long) 3 QuartzCore CA::Render::Shmem::new_bitmap(unsigned int,unsigned int,unsigned int) 4 QuartzCore CABackingStoreUpdate_ 5 QuartzCore ___ZN2CA5Layer8display_Ev_block_invoke 6 QuartzCore x_blame_allocations 7 QuartzCore CA::Layer::display_() 8 QuartzCore CA::Layer::display_if_needed(CA::Transaction*) 9 QuartzCore CA::Layer::layout_and_display_if_needed(CA::Transaction*) 10 QuartzCore CA::Context::commit_transaction(CA::Transaction*) 11 QuartzCore CA::Transaction::commit() 12 UIKit -[UIApplication _reportAppLaunchFinished] 13 UIKit -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] 14 UIKit -[UIApplication handleEvent:withNewEvent:] 15 UIKit -[UIApplication sendEvent:] 16 UIKit _UIApplicationHandleEvent 17 GraphicsServices _PurpleEventCallback 18 GraphicsServices PurpleEventCallback 19 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 20 CoreFoundation __CFRunLoopDoSource1 21 CoreFoundation __CFRunLoopRun 22 CoreFoundation CFRunLoopRunSpecific 23 CoreFoundation CFRunLoopRunInMode 24 UIKit -[UIApplication _run] 25 UIKit UIApplicationMain 26 main 27 libdyld.dylib start 解 以为我会分享我如何设法减少这个.事实证明,如果你有标签,其中包含字词,并且在两边和顶部和底部都有大量的空白空间,这会增加显示它们所需的内存.因此,解决方案是将该空间减少到绝对最小值. 以下是生成的快照: Snapshot Timestamp Growth # Persistent VM: UILabel (CALayer) 2.37 MB 9 0x5321000 00:02.503.255 208.00 KB 0x5248000 00:02.474.045 392.00 KB 0x5087000 00:02.432.317 208.00 KB 0x50bb000 00:02.445.927 64.00 KB 0x5303000 00:02.498.137 120.00 KB 0x52aa000 00:02.481.354 292.00 KB 0x50cb000 00:02.449.625 180.00 KB 0x5355000 00:02.505.638 112.00 KB 0x50f9000 00:02.455.350 848.00 KB 解决方法
我有同样的问题.我会尝试你所建议的大小.但是,也许从clearColor更改背景颜色可以更正问题.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 国际金融互联报文规范SWIFT之银行识别代码BIC Code介绍
- c – Xcode支持lambda函数
- 详解UML中的聚合,关联,泛化等关系
- ruby-on-rails – 如何获取我的Rails应用程序的基本URL(例如
- Alamofire-Swift Networking网络库
- error while obtaining ui hierarchy xml file...用 uiauto
- 苹果为高中生和社区大学生推出Swift编程课程
- Flash builber 4.5误选调试进入调试视图.
- .net – 捕获UserControl中的KeyDown事件
- ReactNative Demo - Dimensions 的使用