我在 Android Studio 上有一个项目,它的 gradle 文件中包含 sourceSet,在 Windows 上该项目运行没有问题,我将代码从我们的 Git 服务器拉到 Mac OS X 10.10 并出现问题,模块“app”被读取为文件而不是项目,它只会在我从 build.gradle 中删除“sourceSets”时才起作用,但是如果我删除它,我的布局会导致问题,因为我的布局文件夹确实有子文件夹。
我在 Windows 和 Mac 上都使用了最新的 Android Studio(Android Studio v1.4 RC 1 和 Gradle 1.3.0)
请指教。
我的 build.gradle 是:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion '23.0.1'
defaultConfig {
applicationId "x.y"
minSdkVersion 15
targetSdkVersion 18
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
manifest.srcFile '/src/main/AndroidManifest.xml'
java.srcDirs = ['/src/main/java', '.apt_generated']
aidl.srcDirs …Run Code Online (Sandbox Code Playgroud) 我正在使用此代码进行后台工作:
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, {
// Some work in the background and updating UI too.
});
Run Code Online (Sandbox Code Playgroud)
但我在这里读到我们应该使用:
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
// do some task
dispatch_async(dispatch_get_main_queue()) {
// update some UI
}
}
Run Code Online (Sandbox Code Playgroud)
更新UI时.我的问题是:在我使用的代码示例中,UI在全局队列中得到更新,UI更新没有错误.我正在使用的方法与上面链接中提到的方法有什么区别?
PS:代码在Mac OS X 10.10上执行