0

我试图在界面生成器中更改自定义标签栏项目图像

图像尺寸为 54x58

该应用程序编译并运行良好!但是当我使用 Xcode (CMD+I > Leaks) Instruments 分析它时,它会显示以下内存泄漏,

// ...
Leaked Object # Address Size 责任库责任框架
Malloc 48 字节 1 0xada86a0 48 字节 CoreGraphics CGGlyphBitmapCreate
Malloc 48 字节 1 0xe1905d0 48 字节 CoreGraphics CGGlyphBitmapCreate
Malloc 32 字节 1 0xad96170 32 字节 CoreGraphics C

// ....

堆栈跟踪没有显示我的任何代码泄漏,也可以通过简单地在 AppDelegate 中为 NavigationBar 或 TabBar 设置自定义背景图像来触发该问题

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    // Some Look and Feel 
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg"]];

    [[UINavigationBar appearance] setBackgroundImage:navbar_bkg_image
                                       forBarMetrics:UIBarMetricsDefault];
 // where navbar_bkg_image is UIImage 

    return YES;
}

有什么建议吗?

4

2 回答 2

0

UIImageView这是在 iOS 7.0 中使用时的一个已知错误。所以问题可能不是标签栏或导航栏的结果,而是UIImageView它们都使用的对象。如果在您注释掉这些行时报告的泄漏消失了,您可能可以放心地忽略泄漏(我们只能控制我们所做的事情,而不是 iOS 7 本身产生的泄漏)。

话虽如此,在 iOS 7.0.3(Xcode 版本 5.0.1 5A2053)中重新测试,看起来 Apple 可能已经解决了这个问题。

于 2013-10-26T02:47:20.707 回答
-1

尝试使用@autoreleasepool,它将解决您的问题。

于 2013-10-20T13:22:08.453 回答