是否可以从Google Play服务库中删除不必要的包,以便该库仅包含Google Analytics所需的所有内容?
我之所以这样问是因为Google Play服务库充斥着我认为Google Analytics未使用的额外软件包,图片和资源.
我尝试通过将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) 在过去我使用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
我无法执行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挂起异常.
下面我发布了调试错误.
任何人都知道如何解决这个问题.谢谢.
所以昨天我正在编程,突然我setTitle
在WindowManager.LayoutParams
课堂上遇到了这个方法,为什么这个类有这样的setTitle
方法呢?在哪里使用?该文档没有说明该功能.
我的猜测是,它可以用于调试或类似的东西,但除此之外,我没有线索.
为什么它会被宣布为最终方法?因为我们尚未准备好覆盖它?
就是想...
注意:以下两个答案都是"正确"并提供良好信息的一些方法,但只能接受一个.
我工作在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) 关于使用ActionBarSherlock或其他库更改硬键菜单的文本颜色或背景图像有很多问题.但我找不到任何与使用AppCompat的Material主题相关的答案.
那么如何更改硬键菜单面板的文本颜色和背景?
默认情况下,面板看起来像这样(Light.DarkActionBar主题).我真的不喜欢丑陋的灰色到灰色的对比,我想把文字颜色改成黑色.
android android-appcompat android-menu android-theme material-design
在我的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_ID
中string.xml
的文件.但是,由于我有很多口味,如果我们将所有与风味相关的参数放在build.gradle
文件中而不是strings.xml
文件中,那么它将很好并且易于维护.
有谁知道如何避免字符串浮动转换?
我对此有疑问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
执行并将并行运行?请帮忙.
是否有任何与 posix/thread 相关的 API 可以帮助使“值更改操作”线程安全,而无需锁定多个语句?
是否有适用于 Linux 的 posix API 来执行此操作?
我只是更新我的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 ×8
java ×3
android-menu ×1
android-ndk ×1
api ×1
build.gradle ×1
c++ ×1
caliper ×1
dex ×1
gradle ×1
layoutparams ×1
linux ×1
loops ×1
performance ×1
posix ×1
proguard ×1
random ×1
runtime.exec ×1
while-loop ×1