小编Dar*_*ren的帖子

获取Google Glass相机时出现间歇性错误

在Glass GDK应用程序中获取相机时出现间歇性错误.该应用程序是一个简单的应用程序:

  1. 响应语音触发("测试相机")
  2. 启动活动以拍摄快照
  3. 返回调用Activity以显示快照.

问题是该应用程序可以正常工作,但它不时会一次又一次地获取相机.我已经将多个try/catch块中的相机调用完成处理(如果它无法获取相机,应用程序就会退出),但我想知道为什么它首先发生.

除了以下内容,我不会担心这个问题:

  1. 我注意到这些错误经常发生在我用"拍照"语音提示拍摄照片后启动应用程序(好像"拍照"应用程序没有释放相机.)

  2. 我投入了很多次尝试/捕获以防止每次不良的相机通话,但是......在我这样做之前,(即当我的代码不那么专注于释放相机时),设备会变得非常温暖,以至于我不得不把它关掉再打开以确保我没有损坏它.

我在日志中看到的唯一奇怪的事情是以下消息.我不知道"未知消息类型8192"可能是什么

11-29 19:38:16.344: E/Camera(4551): Received CAMERA_MSG_RELEASE
11-29 19:38:16.493: D/Camera-JNI(4551): android_hardware_Camera_release - context->decStrong(thiz)
11-29 19:38:16.524: E/Camera(4551): Unknown message type 8192
Run Code Online (Sandbox Code Playgroud)

因为我不知道是什么导致了这个,所以我将发布整个项目,看看是否有一些xml文件或其他可能造成这种情况的模糊不清的地方.

这是清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testcamera"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="15" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name="com.example.testcamera.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
            <action
                android:name="com.google.android.glass.action.VOICE_TRIGGER" />
            </intent-filter>
            <meta-data android:name="com.google.android.glass.VoiceTrigger" …
Run Code Online (Sandbox Code Playgroud)

google-glass google-gdk

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

CATransaction完成块永远不会触发

为什么这个CATransaction的完成块永远不会发生?

[CATransaction begin];
[CATransaction setCompletionBlock:^{
    // table animation has finished
    NSLog(@"why does this section never execute?");
}];
[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:self.currentFeedItems.count inSection:0]] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
[CATransaction commit];
Run Code Online (Sandbox Code Playgroud)

tableview动画有效,但永远不会执行完成块.Apple文档说保证完成块可以执行.

ios catransaction

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

AWS Cloudwatch警报可以检测到没有活动吗?

我想将云监视警报设置为在没有任何活动时触发,例如,当Lambda函数至少在5分钟内未执行时触发云监视警报。我设置了一个简单的测试lambda函数(testLambdaFunc),然后使用python脚本设置了警报,如下所示:

import boto3
lambdaFunction = 'testLambdaFunc'
alarmName = 'testLambdaAlarm'
client = boto3.client("cloudwatch")
# create alarm to fire after five minutes of inactivity
response = client.put_metric_alarm(
AlarmName=alarmName,
AlarmActions=[],
MetricName='Invocations',
Namespace='AWS/Lambda',
Dimensions=[
{
'Name': 'FunctionName',
'Value': lambdaFunction
},
],
Statistic='Average',
Period=300,
EvaluationPeriods=1,
Threshold=0,
ComparisonOperator='LessThanOrEqualToThreshold'
)
Run Code Online (Sandbox Code Playgroud)

创建警报后,它将立即进入INSUFFICIENT DATA状态。然后,我一次触发lambda函数以获取数据点。警报进入OK状态,然后大约10分钟后返回到INSUFFICIENT DATA状态。这是正常的还是应该引起警报?如何设置在该功能没有任何活动时触发的警报?

lambda amazon-web-services cloudwatch amazon-cloudwatch aws-lambda

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