Moto 360定制手表面临滞后

时间:2014-09-09 08:19:27

标签: lag watch wear-os motorola

我正在为Android服装设备开发表盘。一切都运行良好,但我们在Moto 360上遇到了问题。我的用户抱怨说,当用户想要激活手表时会出现相当大的延迟。触摸屏幕后1到5秒后显示屏幕(有时它工作得更快,有时更慢)。有人有这样的问题吗?我的应用程序在Samsung Gear Live和LG G Watch上进行了测试,并且可以正常使用。我现在无法获得Moto。

您可以查看我在此处制作的应用:https://play.google.com/store/apps/developer?id=Zuhanden

这是我的清单(可能缺少某些东西?):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="co.smartwatchface.watch.face.speedometer.android.wear"
    android:versionCode="14"
    android:versionName="1.9" >

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

    <application
        android:name="de.zuhanden.smartwatch.wear.squares.WatchApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="de.zuhanden.smartwatch.wear.squares.ui.activities.RectWatchfaceActivity"
            android:allowEmbedded="true"
            android:enabled="true"
            android:label="@string/watchface_label_rect"
            android:taskAffinity="" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" />
            </intent-filter>

            <meta-data
                android:name="com.google.android.clockwork.home.preview"
                android:resource="@drawable/watchface_launcher_rect" />
        </activity>

        <activity
            android:name="de.zuhanden.smartwatch.wear.squares.ui.activities.RoundWatchfaceActivity"
            android:allowEmbedded="true"
            android:enabled="true"
            android:label="@string/watchface_label_round"
            android:taskAffinity="" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="com.google.android.clockwork.home.category.HOME_BACKGROUND" />
            </intent-filter>

            <meta-data
                android:name="com.google.android.clockwork.home.preview"
                android:resource="@drawable/watchface_launcher_round" />
        </activity>

        <activity 
            android:name="de.zuhanden.smartwatch.wear.squares.ui.activities.SpeedometerActivity"
            android:label="@string/app_name"
            android:icon="@drawable/ic_launcher">
            <intent-filter >
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <service android:name="de.zuhanden.smartwatch.wear.squares.services.DataLayerListenerService" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

</manifest>

谷歌播放服务用于应用程序,而不是表盘,所以它应该不是问题。我也使用这种方法来检查监视状态并控制动画fps:

@Override
public void onDisplayChanged(int displayId) {
    final Display display = displayManager.getDisplay(displayId);

    if (display != null) {
        switch(display.getState()) {

        case Display.STATE_DOZING:
            onScreenDim();
            break;

        case Display.STATE_OFF:
            onScreenOff();
            break;

        default:
            //  Not really sure what to so about Display.STATE_UNKNOWN, so
            //  we'll treat it as if the screen is normal.
            onScreenAwake();
            break;
        }
    }
}

当调用onScreenAwake()时,我切换到高fps(我在Handler中反复调用invalidate())和onScreenOff()内部我停止处理程序并且每分钟只启动一次刷新屏幕。

如果有任何帮助,我将不胜感激。

0 个答案:

没有答案