小编App*_*eyA的帖子

对象似乎被释放但内存占用不断增加

我已经开发了一个应用程序大约一个星期左右,我认为这是一个好时机来分析它以确保我正在做的一切正确,我发现即使我的所有对象都得到了dealloc'd分配金额正在上升.当我释放一个对象时,我会执行以下操作:

[object release];
object = nil;
Run Code Online (Sandbox Code Playgroud)

在我的应用程序我有确定任一示出了初始视图控制器我的LoginViewControllerTimeLineViewController,取决于我是否有访问令牌.(这部分并不重要,因为我遇到的问题是LoginViewController/ SignupViewController.).登录控制器有两个文本字段和两个按钮,这些按钮将sVC推送到导航视图控制器或尝试登录.

奇怪的是,dealloc在我的视图和视图控制器上调用这些方法,但是在调用它们之后内存会上升.

SDK版本7.0 Xcode版本5.0

编辑:

在我的LoginViewController中,当我从LoginView获取单击SignupButton的事件时,将调用此方法:

- (void)signupButtonPressed
{
    SignupViewController *signupVC = [[SignupViewController alloc] init];
    [self.navigationController pushViewController:signupVC animated:true];
    destroy(signupVC);
}
Run Code Online (Sandbox Code Playgroud)

***注意,销毁宏如下:

#define destroy($x)                                             \
if($x)                                                          \
{                                                               \
[$x release];                                               \
$x = nil;                                                   \
}
Run Code Online (Sandbox Code Playgroud)

创建SignupViewController时,ViewDidLoad方法如下:

self.view = [[SignupView alloc] initWithFrame:self.view.frame];

    [[(SignupView *)self.view evtSignupButtonPressed] addHandler:AFFHandler(@selector(signupPressed))];
    [((SignupView *)self.view).profileImage addTarget:self action:@selector(profileImagePressed) forControlEvents:UIControlEventTouchUpInside];

[self.navigationController setNavigationBarHidden:false animated:true];
Run Code Online (Sandbox Code Playgroud)

然后它为SignupView中的视图创建UI,如下所示:

- (void)setupUI
{

    self.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:IS_IPHONE5 ? …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch memory-management objective-c ios ios7

1
推荐指数
1
解决办法
306
查看次数

标签 统计

cocoa-touch ×1

ios ×1

ios7 ×1

memory-management ×1

objective-c ×1