iPa*_*tel 2 iphone cocoa-touch objective-c ios
我ZBarReaderViewController用于扫描QR码.它完全适用于iOS 6.但当我使用iOS 7与我的项目时,它没有正常使用ZBarReaderViewController
问题与内存有关,它需要100 MB以上,此时我的设备已挂起.
一般在我的项目中.用户可以扫描QR生成器图像,我有识别QR码代码与我从服务器获得的字符串相关的功能,如果是,则转到下一个视图控制器,否则保持当前(继续QR扫描)屏幕.
如果QR码马赫与我的字符串然后在下一个屏幕上有"取消"按钮,这使得扫描另一个代码(这意味着我得到了以前的viewController (QR扫描)).
那时我去下一个viewController并回到pervious(QR扫描屏幕),然后我每次得到ZBarReaderViewController这样的(可能是)内存相关问题被生成.
但我写代码
if(self.ZBarReaderVC)
{
for(UIView *subVies in self.ZBarReaderVC.cameraOverlayView.subviews)
[subVies removeFromSuperview];
for(UIView *subVies in self.ZBarReaderVC.view.subviews)
[subVies removeFromSuperview];
[self.ZBarReaderVC removeFromParentViewController];
self.ZBarReaderVC = nil;
}
Run Code Online (Sandbox Code Playgroud)
之后,[self.ZBarReaderVC dismissModalViewControllerAnimated: YES];我删除ZBarReaderViewController的结束时间,那么为什么每次我得到分配ZBarReaderViewController???
同时,我把[self.ZBarReaderVC.readerView stop];之前解雇ZBarReaderViewController的来回扫描停流阅读器
,但它也没有为我工作.
但我试图解决我的问题几个小时的时间,但我无法解决我的问题
请帮我.
Alos我发现了类似的问题
Zbar SDK和ios7/xcode 5 - 应用程序的CPU使用率达到100%,内存超过100MB
http://sourceforge.net/p/zbar/discussion/1072195/thread/df4c215a/
但没人能帮助我.
我发现iOS 7问题发生在
self.ZBarReaderVC.view.frame = self.view.bounds;
Run Code Online (Sandbox Code Playgroud)
我把断点放在这里并检查每当我从之前的viewController烘焙时,它需要更多的时间和内存(问题)在这段代码.
所以首先我需要删除self.ZBarReaderVC其所有子视图的视图..所以首先我需要写
if(self.ZBarReaderVC) // first check `self.ZBarReaderVC` is created or not?
{
[self.ZBarReaderVC.readerView stop]; // then stop continue scanning stream of "self.ZBarReaderVC"
for(UIView *subViews in self.ZBarReaderVC.view.subviews) // remove all subviews
[subViews removeFromSuperview];
[self.ZBarReaderVC.view removeFromSuperview];
self.ZBarReaderVC.view = nil;
}
Run Code Online (Sandbox Code Playgroud)
而且我在iOS 7 self.ZBarReaderVC中仍然继续扫描QR码流,所以每次我们需要在你的QR码扫描完成后停止它,你需要解雇你的self.ZBarReaderVC第一次停止扫描[self.ZBarReaderVC.readerView stop];
有些时候用户需要编写/调用(For do /实现某些类型的额外功能)
[self.ZBarReaderVC viewDidLoad];
[self.ZBarReaderVC viewWillAppear:NO];
[self.ZBarReaderVC viewDidAppear:NO];
Run Code Online (Sandbox Code Playgroud)
self.ZBarReaderVC那么它的方法就不需要使用了iOS 7,所以如果有任何用户调用这种方法self.ZBarReaderVC那么请把它放在评论中.
我希望我的建议对其他人有帮助.谢谢 :)
| 归档时间: |
|
| 查看次数: |
2255 次 |
| 最近记录: |