标签: android-4.3-jelly-bean

Android 4.3屏幕GPU分析 - 长gfx等待时间

我刚刚将Galaxy Nexus更新为4.3并启用了新的屏幕GPU分析功能,并在Android设置屏幕中看到以下结果:

在此输入图像描述

根据平台亮点:

[With] colors indicating time spent creating drawing commands (blue), issuing the commands (orange), and waiting for the commands to complete (yellow).
Run Code Online (Sandbox Code Playgroud)

即使在非常简单的屏幕上,有很多情况下屏幕刷新时间高于平滑60 fps(绿线)的阈值,这主要是因为有很多情况下刷新会花费大量时间等待命令完成(黄线*),而其他时间这一步几乎是瞬间的.这也不是设置应用程序特有的东西,但似乎存在于我到目前为止测试的所有应用程序.*对我来说,看起来比黄色更黄

我想知道的是:

  1. 花费这些时间"等待命令完成"意味着屏幕命令正在被主动处理,因此时间将准确地表示绘制屏幕所花费的时间.或者这次包括等待视频同步的时间(虽然我认为三重缓冲区将用于删除此要求)?
  2. 即使在绘制相同的屏幕(在同一个ScrollView上稍微向上和向下滚动),"等待命令完成"所花费的时间也会大幅波动,是否有关于如何减少这种波动的指导(或者如果它可以减少所有)?

[编辑:]

更新了Nexus 7,情况更糟:

在此输入图像描述

多达5帧被跳过"等待命令完成"并且它在使用中真正显示,该应用程序非常不稳定且无响应.

[编辑2:] 我已经根据这篇文章执行了这些以触​​发TRIM约3天,因此N7应该是"原始的",因为它将缺乏恢复出厂设置.

  • 该设备已闲置一个多小时
  • 过去24小时内未执行任何空闲维护窗口事件
  • 该设备要么使用30%的电池充电,要么使用80%的电池充电

现在谷歌地图似乎表现得更好(见下文),所以一些问题可能与闪存访问速度有关,虽然我不知道如何.

在此输入图像描述

尽管如此,由于Galaxy Nexus出厂重置,其长时间"等待命令完成"的时间与缺少TRIM命令无关,并且遵循上述步骤确实没有产生改进.所以我们又回到了原点......

performance android android-4.3-jelly-bean

24
推荐指数
1
解决办法
5622
查看次数

在将Android升级到4.3之后,运行时称'包未知'

我有一个简单的脚本,将数据库从手机下载到我的PC,它使用'run-as',它运行良好,但现在,运行 - 如'包未知'我的应用程序安装在设备上,没有任何改变,只是Android是更新至4.3

你有同样的问题吗?如何绕过这个或解决?

android adb android-4.3-jelly-bean

19
推荐指数
1
解决办法
2万
查看次数

使用BLE Android 4.3如何编写特性?

我正在使用Android 4.3 API开发BLE项目(Android应用程序),我使用了样本BLE应用程序,它只是在DeviceControlActivity.activity中读取特性,但我想编写特征并在点击按钮时将其发送到BLE芯片.如何在芯片cc2540上写入数据..基本上我不知道逐步编写特性的程序.

写我只能在DeviceControlActivity中看到以下代码片段的设备名称和ID

 private final ExpandableListView.OnChildClickListener servicesListClickListner =
        new ExpandableListView.OnChildClickListener() {
            @Override
            public boolean onChildClick(ExpandableListView parent, View v, int groupPosition,
                                        int childPosition, long id) {
                if (mGattCharacteristics != null) {
                    final BluetoothGattCharacteristic characteristic =
                            mGattCharacteristics.get(groupPosition).get(childPosition);
                    final int charaProp = characteristic.getProperties();
                    if ((charaProp | BluetoothGattCharacteristic.PROPERTY_READ) > 0) {
                        // If there is an active notification on a characteristic, clear
                        // it first so it doesn't update the data field on the user interface.
                        if (mNotifyCharacteristic != null) {
                            mBluetoothLeService.setCharacteristicNotification(
                                    mNotifyCharacteristic, …
Run Code Online (Sandbox Code Playgroud)

android bluetooth-lowenergy android-4.3-jelly-bean

19
推荐指数
3
解决办法
4万
查看次数

@ font-face声明在Android 4.3 Internet浏览器中不起作用?

我的三星Galaxy S3手机最近从Android 4.1.3升级到Android 4.3.现在,我在Android互联网浏览器中测试的几个网站都没有显示我声明的字体@font-face.我需要做些什么来解决这个问题?

其中一个网站(开发版):http://beta.kdfansite.com

以下是Open Sans的一些相关CSS:

@font-face {
    font-family: 'OpenSansSemibold';
    src: url('http://beta.kdfansite.com/wp-content/themes/scrollider/scrollider/webfonts/Open-Sans/OpenSans-Semibold-webfont.eot');
    src: url('http://beta.kdfansite.com/wp-content/themes/scrollider/scrollider/webfonts/Open-Sans/OpenSans-Semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('http://beta.kdfansite.com/wp-content/themes/scrollider/scrollider/webfonts/Open-Sans/OpenSans-Semibold-webfont.woff') format('woff'),
         url('http://beta.kdfansite.com/wp-content/themes/scrollider/scrollider/webfonts/Open-Sans/OpenSans-Semibold-webfont.ttf') format('truetype'),
         url('http://beta.kdfansite.com/wp-content/themes/scrollider/scrollider/webfonts/Open-Sans/OpenSans-Semibold-webfont.svg#OpenSansSemibold') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* ... */

h2 {
    font-family: 'OpenSansSemibold', Arial, sans-serif;
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

我在网站上使用的每种字体都以类似的方式声明.Great Vibes声明(也在custom.css中)用于"享受你的骑行"信息是另一个可比较的声明.所有字体都在适用于Android的Chrome和适用于Android的Firefox中在适用的设备上正常显示,但在Android Internet中则无法显示.

我需要尽快完成这个CSS,并作为一名志愿者(未付费)参与这个项目.所以我正在寻找快速修复而不是代码审查.我也是一名用户体验设计师,而不是网络开发人员.提前致谢.

编辑:今天我在Edge Inspect CC和Weinre做了一些额外的调试,将我的Android手机和iPad连接到我的笔记本电脑.在Weinre,我可以更改iPad上的字体系列,但不能更改手机上的字体系列.我可以更改两个设备上的字体颜色.所以看起来潜在的问题与我使用远程调试器时无法更改默认字体的事实有关.

css cross-browser font-face android-internet android-4.3-jelly-bean

16
推荐指数
2
解决办法
2万
查看次数

Android:app在Lollipop上运行时加载库,但不是IceCreamSandwich

我目前正在使用Android Studio开发Android应用.目前,该应用程序在Lollipop设备上完美启动,但由于ClassNotFoundException在棒棒糖前设备(我已在ICS上测试并且失败),在发布时崩溃.

缺少的类总是在运行时来自外部库.

这是gradle文件:

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'
    defaultConfig {
        applicationId 'com.kappsports.kapp10'
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName '1.0.0'
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            shrinkResources true
        }
    }
    lintOptions {
        abortOnError false
    }
    dexOptions {
        incremental true
        javaMaxHeapSize '4g'
    }
}

repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } …
Run Code Online (Sandbox Code Playgroud)

android classnotfoundexception android-4.3-jelly-bean android-gradle-plugin android-5.0-lollipop

16
推荐指数
2
解决办法
5450
查看次数

本机Android BLE实现本质上是同步的吗?

我记得在三星BLE API(存档页面)"指南和提示" -doc中阅读:

三星F/W和堆栈最重要的概念之一是它的同步特性.也就是说,如果我们调用例如 writeCharacteristic某个特定的特性,如果它返回 true,则在收到回调后应该对any BluetoothGattBluetoothGattServer方法进行下一次调用onCharacteristicRead.这是因为堆栈被设计为一次仅支持和处理一个GATT调用,例如,如果您在第一个调用之后很快调用 writeCharacteristicreadCharacteristic处理任何特性,则忽略它.

  1. 这也适用于Android 4.3中引入的BLE的nativ实现吗?
  2. Samsung API一次只支持一个连接的GATT设备.这在原生API中有变化吗?

android bluetooth-lowenergy gatt android-4.3-jelly-bean

15
推荐指数
1
解决办法
1万
查看次数

Android KeyStore - 如何保存RSA PrivateKey

我从一个Web服务(由我自己制作)收到一个基本64字符串编码的RSA PrivateKey PKCS#8.我的Android应用必须将此密钥安全地保存在手机中.

从Android的4.3版本开始,可以使用新的KeyStore API保存密钥.我发现了一篇包含代码示例文章,文章展示了如何使用存储密钥所需的规范生成KeyPair.然后恢复钥匙.

// generate a key pair
Context ctx = getContext();
Calendar notBefore = Calendar.getInstance()
Calendar notAfter = Calendar.getInstance();
notAfter.add(1, Calendar.YEAR);
KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(ctx)
            .setAlias("key1")
            .setSubject(
                    new X500Principal(String.format("CN=%s, OU=%s", alais,
                            ctx.getPackageName())))
            .setSerialNumber(BigInteger.ONE).setStartDate(notBefore.getTime())
            .setEndDate(notAfter.getTime()).build();

KeyPairGenerator kpGenerator = KeyPairGenerator.getInstance("RSA", "AndroidKeyStore");
kpGenerator.initialize(spec);
KeyPair kp = kpGenerator.generateKeyPair();

// in another part of the app, access the keys
KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
keyStore.load(null);
KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry)keyStore.getEntry("key1", null);
RSAPublicKey pubKey = (RSAPublicKey)keyEntry.getCertificate().getPublicKey();
RSAPrivateKey privKey …
Run Code Online (Sandbox Code Playgroud)

security keystore android-4.3-jelly-bean

15
推荐指数
1
解决办法
1万
查看次数

phonegap 3.0想要Android 17,但我想要android 18

虽然有经验的phonegap和xcode,我是android的新手.我已经安装了phonegap 3.0 ......

npm install phonegap
phonegap --version
3.0.0-0.14.3
Run Code Online (Sandbox Code Playgroud)

我已经安装了adt-bundle-mac-x86_64-20130729.命令行工具(例如:android)似乎工作正常.当我尝试添加android作为平台..

phonegap local build android
Run Code Online (Sandbox Code Playgroud)

我明白了......

[error] Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.
Run Code Online (Sandbox Code Playgroud)

我看到类似的问题仍然没有答案... Phonegap 3.0 CLI在构建应用程序中发出android目标号码

当我安装android-17它工作正常,这很酷,但我需要使用android-18所以我可以使用BLE.

我看到Fil Maj明显在7月31日解决了这个问题... https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commitdiff;h=c2c5f710

..但我似乎没有在我下载的phonegap版本中修复此问题.我想也许它只是在cordova中,所以我也安装了它,但遇到了同样的问题.

我试图直接攻击包含检查的npm目录中的四个js文件,但是没有采取(即:错误持续存在).

任何人都可以建议......

1)如何在修复问题的情况下下载一个版本的phonegap/cordova,或者

2)如何告诉phonegap/cordova我想要定位哪个版本的android

非常感谢 ...

android cordova cordova-3 android-4.3-jelly-bean

14
推荐指数
3
解决办法
3万
查看次数

如何使用4.3 API连接到Android上的WPA_EAP WIFI

最近,Android添加了使用API​​ 18(JellyBean 4.3)连接到EAP WIFI的功能.我已经找了很多例子,但找不到任何例子,我也无法连接我的代码.一切似乎按预期工作,但实际连接似乎不起作用.

这是我正在做的事情:

Log.d( "WiFi", "adding network via Android Enterprise Config with SSID: " + ssid );
                    WifiEnterpriseConfig enterpriseConfig = new WifiEnterpriseConfig(); 
                    wifiConfig = new WifiConfiguration();
                    wifiConfig.SSID = ssid; 

                    enterpriseConfig.setIdentity(userName);
                    enterpriseConfig.setPassword(passWord);
                    enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PEAP); 
                    wifiConfig.enterpriseConfig = enterpriseConfig;
                    Log.i("WIFI", "My wifi"+ wifiConfig.status); 
                    networkId = wfm.addNetwork(wifiConfig);

                    wfm.enableNetwork(networkId, true); // this initiates the connection
Run Code Online (Sandbox Code Playgroud)

无论出于何种原因,都没有建立联系.似乎其他一切都设置正确.如果我遗漏了任何东西,请告诉我,我很乐意添加它.

任何帮助或方向将不胜感激.

java android wifi wpa android-4.3-jelly-bean

12
推荐指数
1
解决办法
4210
查看次数

Android Target API

我尝试编辑一些代码.根据开发人员的说明,它是android jelly bean版本中应用程序的一部分.但我发现一段令我困惑的代码.这段代码是什么意思?如果我们不使用此代码或删除此代码,会发生什么:

@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
Run Code Online (Sandbox Code Playgroud)

android android-4.3-jelly-bean

12
推荐指数
1
解决办法
2万
查看次数