小编Rol*_*f ツ的帖子

收缩Google Play服务库仅用于Google Analytics

是否可以从Google Play服务库中删除不必要的包,以便该库仅包含Google Analytics所需的所有内容?

我之所以这样问是因为Google Play服务库充斥着我认为Google Analytics未使用的额外软件包,图片和资源.

android google-analytics proguard google-play-services

7
推荐指数
2
解决办法
8078
查看次数

为什么短原始类型明显慢于long或int?

我尝试通过将int基元更改为short来优化Android游戏的RAM使用率.在我这样做之前,我对Java中原始类型的性能感兴趣.

所以我使用caliper库创建了这个小测试基准.

public class BenchmarkTypes extends Benchmark {

    @Param("10") private long testLong;
    @Param("10") private int testInt;
    @Param("10") private short testShort;


    @Param("5000") private long resultLong = 5000;
    @Param("5000") private int resultInt = 5000;
    @Param("5000") private short resultShort = 5000;

    @Override
    protected void setUp() throws Exception {
        Random rand = new Random();

        testShort = (short) rand.nextInt(1000);
        testInt = (int) testShort;
        testLong = (long) testShort;
    }

    public long timeLong(int reps){
        for(int i = 0; i < reps; i++){
            resultLong += testLong;
            resultLong -= …
Run Code Online (Sandbox Code Playgroud)

java performance android caliper

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

Gradle:独立于SDK构建目标更改NDK构建目标

在过去我使用eclipse进行NDK项目,Android.mk文件非常适合用API级别9编译NDK,同时让应用程序(SDK)在API级别22上编译.但似乎这在使用时不可能使用Android Studio 1.3 RC1的实验性Gradle构建系统(2.5).

如何在API级别9上仅编译NDK?

我的典型Android.mk文件如下所示:

APP_PLATFORM := android-9
APP_STL := stlport_static
APP_ABI := all

# Enable c++11 extentions in source code
APP_CPPFLAGS += -std=c++11

#Enable optimalization in release mode
APP_OPTIM := release
Run Code Online (Sandbox Code Playgroud)

我的新gradle文件如下所示:

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 22
        buildToolsVersion = "23.0.0 rc3"

        defaultConfig.with {
            applicationId = "com.example"
            minSdkVersion.apiLevel = 9
            targetSdkVersion.apiLevel = 22
            versionCode = 1
            versionName = "1.0"
        }
    }

    android.ndk {
        moduleName = "NativeLibrary"
        cppFlags   += "-I${file("src/main/jni/some_folder")}".toString()
        cppFlags   += "-std=c++11"

        //What should …
Run Code Online (Sandbox Code Playgroud)

android gradle android-ndk android-studio android-gradle-plugin

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

无法执行dex:多个dex文件定义Landroid/support/v7/util/ThreadUtil $ MainThreadCallback;

我无法执行dex:多个dex文件错误.

控制台错误:

[2015-12-22 16:39:38 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/util/ThreadUtil$MainThreadCallback;
[2015-12-22 16:39:38 - Talkr] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/util/ThreadUtil$MainThreadCallback;
Run Code Online (Sandbox Code Playgroud)

下面我发布了订单和导出的截图.我无法检查android私有库.如果我检查它,我的应用程序变慢,我无法运行该应用程序.

订单和出口:

在此输入图像描述

编辑:如果我取消选中我的所有库,将解决多个dex错误.但是我在Debug中获得Thread挂起异常.

下面我发布了调试错误.

在此输入图像描述

任何人都知道如何解决这个问题.谢谢.

android dex

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

WindowManager.LayoutParams为什么有setTitle方法?

所以昨天我正在编程,突然我setTitleWindowManager.LayoutParams课堂上遇到了这个方法,为什么这个类有这样的setTitle方法呢?在哪里使用?该文档没有说明该功能.

我的猜测是,它可以用于调试或类似的东西,但除此之外,我没有线索.

为什么它会被宣布为最终方法?因为我们尚未准备好覆盖它?

就是想...

注意:以下两个答案都是"正确"并提供良好信息的一些方法,但只能接受一个.

的getTitle

的setTitle

android layoutparams android-windowmanager

5
推荐指数
1
解决办法
415
查看次数

从特定点循环到Java中的另一个点?

我工作在Java中的一个项目,是一种像数字时间机器,它基本上保存在什么目录发生在一个特定的沙爹,其档案到一个特定的文件,并将其存储的地方保管.现在我正在研究密码功能.我有基础知识来检查它是对还是错,但当我输入错误答案时,课程在说"无效密码"后结束.有没有办法让它从else语句的结尾循环到开头,main所以我不必每次都重新执行该类?

import java.util.Scanner;
import java.util.*;

public class Adam {

    public static void main(String args[]) {

        String passwrd = "password";
        String inputPassword;

        System.out.print("Please Input Password ");
        Scanner sc = new Scanner(System.in);
        inputPassword = sc.nextLine();

        if (inputPassword.equals(passwrd)) {
            System.out.println("Password Accepted, Loading Archive...");
        } else {
            System.out.println("Invalid Password");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java loops while-loop

5
推荐指数
1
解决办法
466
查看次数

C++如何从1到12获得随机值?

我如何从1到12获得C++随机值?

所以我会有3个,6个或11个?

c++ random

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

使用AppCompat和Material更改硬键菜单面板的样式

关于使用ActionBarSherlock或其他库更改硬键菜单的文本颜色或背景图像有很多问题.但我找不到任何与使用AppCompat的Material主题相关的答案.

那么如何更改硬键菜单面板的文本颜色和背景?

默认情况下,面板看起来像这样(Light.DarkActionBar主题).我真的不喜欢丑陋的灰色到灰色的对比,我想把文字颜色改成黑色.

默认菜单看

android android-appcompat android-menu android-theme material-design

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

manifestPlaceholders值不是字符串

在我的AndroidManifest.xml文件中,我有以下元数据标记,应该动态填充:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="${FACEBOOK_APP_ID}"/>
Run Code Online (Sandbox Code Playgroud)

我的gradle文件如下所示:

manifestPlaceholders = [
                GOOGLE_PROJECT_ID: "A888844613784",
                FACEBOOK_APP_ID: "888570042741264"
        ]
Run Code Online (Sandbox Code Playgroud)

在"构建和组装"之后,清单文件中的FACEBOOK_APP_ID如下所示:

 <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="1481023616.000000" />
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不是String,而是浮点值.这不正确或我想要的.

我知道有另一种方式来定义FACEBOOK_APP_IDstring.xml的文件.但是,由于我有很多口味,如果我们将所有与风味相关的参数放在build.gradle文件中而不是strings.xml文件中,那么它将很好并且易于维护.

有谁知道如何避免字符串浮动转换?

android android-manifest build.gradle android-flavors

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

Java:Runtime.getRuntime().exec()默认等待吗?

我对此有疑问Runtime.getRuntime().我正在运行以下代码.

public class TestMain {
public static void main(String[] args) {
    Runtime rs = Runtime.getRuntime();
    rs.exec("C:\\Windows\\System32\\sampleProgram.exe");
    rs.exec("C:\\Windows\\System32\\sampleProgram2.exe");
    rs.exec("C:\\Windows\\System32\\sampleProgram3.exe");
}
}
Run Code Online (Sandbox Code Playgroud)

现在,如果sampleProgram需要更多时间来执行,控件是否会等待 sampleProgram完成,或者它将继续sampleProgram2执行并将并行运行?请帮忙.

java runtime.exec

0
推荐指数
1
解决办法
481
查看次数

是否有适用于 Windows“InterLockedCompareExchange”API 的 Linux 等价物?

是否有任何与 posix/thread 相关的 API 可以帮助使“值更改操作”线程安全,而无需锁定多个语句?

是否有适用于 Linux 的 posix API 来执行此操作?

linux api multithreading posix

0
推荐指数
1
解决办法
958
查看次数

更新到android studio预览3.0金丝雀3后无法生成项目

我只是更新我的Android工作室预览3.0金丝雀3.在此之后我试图运行该项目,但显示以下错误.

Error:Could not find com.android.tools.build:gradle:3.0.0.
Searched in the following locations:
    file:/opt/android-studio-preview/gradle/m2repository/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.pom
    file:/opt/android-studio-preview/gradle/m2repository/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.jar
    https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.pom
    https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.jar
Required by:
    project :
Run Code Online (Sandbox Code Playgroud)

android android-studio android-studio-3.0

0
推荐指数
1
解决办法
3293
查看次数