相关疑难解决方法(0)

iOS应用程序错误 - 无法将self添加为子视图

我收到了这个崩溃报告,但我不知道如何调试它.

Fatal Exception NSInvalidArgumentException
Can't add self as subview
0 ...    CoreFoundation  __exceptionPreprocess + 130
1    libobjc.A.dylib     objc_exception_throw + 38
2    CoreFoundation  -[NSException initWithCoder:]
3    UIKit   -[UIView(Internal) _addSubview:positioned:relativeTo:] + 110
4    UIKit   -[UIView(Hierarchy) addSubview:] + 30
5    UIKit   __53-[_UINavigationParallaxTransition animateTransition:]_block_invoke + 1196
6    UIKit   +[UIView(Animation) performWithoutAnimation:] + 72
7    UIKit   -[_UINavigationParallaxTransition animateTransition:] + 732
8    UIKit   -[UINavigationController _startCustomTransition:] + 2616
9    UIKit   -[UINavigationController _startDeferredTransitionIfNeeded:] + 418
10   UIKit   -[UINavigationController __viewWillLayoutSubviews] + 44
11   UIKit   -[UILayoutContainerView layoutSubviews] + 184
12   UIKit …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios

156
推荐指数
5
解决办法
4万
查看次数

PhoneGap在iOS8中使用的方式比iOS7更多

我有一个PhoneGap应用程序.HTML5 Canvas游戏.它似乎在iOS 8(包括8.0.2)和iOS 7中使用了更多的内存.

除了使用更多内存之外,JS垃圾收集器似乎也没有释放它所拥有的内存.它正确地收集"释放"内存,但从未将其释放回iOS供使用.

以下是在iOS 7和iPhone 5S下使用Instruments Allocations的内存使用情况.你可以看到它在我加载和卸载一个级别时上下移动.内存使用率也很低,约为23mb,最高为41.81mb

在iOS 7下运行的PhoneGap Canvas应用程序

这是在带有iOS 8.0.2的iPhone 5S上运行的相同应用程序.正如您所看到的,内存使用量永远不会下降,并且它会占用更多内存.事实上,当我加载和卸载相同级别时,内存使用量会持续上升.它没有那么高,这让我觉得JS正确地重用了垃圾收集器中的内存,但是GC似乎永远不会释放它保留在操作系统中的内存.此外,整个应用程序似乎使用比以前更多的内存.

该应用程序运行速度也慢得多,到我停止时达到了121mb.

在iOS 8下运行的PhoneGap Canvas应用程序

我应该补充一点,在卸载关卡时我会重新加载页面,这很奇怪地不会释放iOS 8下的任何内存.

有没有人有任何想法可能导致这个问题,解决方案可能是什么?这是iOS 8中的错误吗?

在8.0(但不是8.1)中,可以使用解决方法/ hack释放:window.location.reload(true);在强制页面重新加载之前调用window.location.href =.从8.1开始,这个hack/workaround不起作用.

memory cordova ios7 ios8

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

标签 统计

cordova ×1

ios ×1

ios7 ×1

ios8 ×1

iphone ×1

memory ×1

objective-c ×1