为什么在通过条形码扫描器扫描时会延迟调用insertText方法

时间:2014-04-05 10:34:11

标签: ios delay barcode-scanner

我正在尝试制作一个从条形码扫描仪获取输入的应用程序,现在的问题是当我们启动应用程序时,它运行良好但随着时间的推移,来自条形码扫描器的输入随着扫描次数的增加而变慢。我试图对此进行调试,发现读取单个扫描的两个字符之间的时间间隔随着扫描次数的增加而增加。

只需将条形码扫描器通过蓝牙连接到您的设备,并将其连续扫描15分钟。并查看日志(控制台上的输出)。

这是我的代码 -

我在这个UIViewController上有一个UIViewController和一个UIView(displayView)。

DisplayInput.h

#import <UIKit/UIKit.h>

@interface DisplayView : UIView <UIKeyInput>

@end

DisplayInput.m

#import "DisplayView.h"

@implementation DisplayView

#pragma mark - KeyInput Delegates

-(void)deleteBackward{

}

-(BOOL) hasText{
    return YES;
}

-(void) insertText:(NSString *)text{
    NSLog(@"Text- %@",text);
}

-(BOOL) canBecomeFirstResponder{
    return YES;
}
@end

UIViewController是 -

ViewController.h

#import <UIKit/UIKit.h>
#import "DisplayView.h"

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet DisplayView *displayView;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    [_displayView becomeFirstResponder];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

这是我启动应用时的输出。

2014-01-13 12:01:02.359 Link[20147:907] Text Data - 1
2014-01-13 12:01:02.364 Link[20147:907] Text Data - 2
2014-01-13 12:01:02.369 Link[20147:907] Text Data - 3
2014-01-13 12:01:02.378 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.395 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.411 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.423 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.440 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.455 Link[20147:907] Text Data - 0
2014-01-13 12:01:02.464 Link[20147:907] Text Data - 1
2014-01-13 12:01:02.478 Link[20147:907] Text Data - 

我在12:01:02.359开始使用该应用程序。

Printed 'Text Data - 2' at 12:01:02 - 364

Printed 'Text Data - 3' at 12:01:02 - 369

Printed 'Text Data - 4' at 12:01:02 - 378

并且看到单次扫描的两个字符之间的差异是5到20毫秒。

现在连续扫描15分钟后,请参阅输出。

2014-01-13 12:15:07.039 Link[20147:907] Text Data - 1
2014-01-13 12:15:07.221 Link[20147:907] Text Data - 2
2014-01-13 12:15:07.399 Link[20147:907] Text Data - 3
2014-01-13 12:15:07.577 Link[20147:907] Text Data - 4
2014-01-13 12:15:07.768 Link[20147:907] Text Data - 5
2014-01-13 12:15:07.965 Link[20147:907] Text Data - 6
2014-01-13 12:15:08.224 Link[20147:907] Text Data - 7
2014-01-13 12:15:08.511 Link[20147:907] Text Data - 8
2014-01-13 12:15:08.786 Link[20147:907] Text Data - 9
2014-01-13 12:15:09.019 Link[20147:907] Text Data - 0
2014-01-13 12:15:09.245 Link[20147:907] Text Data - 

15分钟后,在12:15:06 - 860

Printed 'Text Data - 3' at 12:15:07 - 399

Printed 'Text Data - 4' at 12:15:07 - 577

Printed 'Text Data - 5' at 12:15:07 - 768

现在看到单次扫描的两个字符之间的区别是100到300毫秒。

如何消除此延迟。任何人帮助我。感谢。

0 个答案:

没有答案