小编PPD*_*PPD的帖子

Android工作室需要太多内存

我安装了Android Studio 1.0 RC 2.我安装了4GB的RAM,但是在启动Android Studio并启动Android Emulator之后,只有这两个物理内存已被使用了90%以上.有没有办法减少这种内存使用?由于此内存问题,我无法同时打开其他应用程序. 在此输入图像描述

performance android-studio

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

android:Theme.Material.Light需要API级别21(当前最小值为8)

我想在我的应用程序中使用Material Theme,其最低sdk版本为8.根据文档 - "材料主题仅在Android 5.0(API级别21)及更高版本中可用.v7支持库提供主题的材料设计样式一些小部件和支持自定义调色板." 如果我在项目中添加v7支持库,这是否意味着我可以使用它?因为添加此库后我收到以下错误:

android:Theme.Material.Light需要API级别21(当前最小值为8).

或许我理解错了什么?任何建议将不胜感激.提前致谢.

android android-theme material-design android-5.0-lollipop

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

在Android Studio中看不到新创建的"值"文件夹

在Android Studio中,我要创建的文件夹values-v14 values-v21里面res的文件夹.

但是当我尝试使用它时:右键单击res文件夹选择选项New >Directory,然后在创建文件夹后,它在Android Studio中不可见.但是当我选择该选项时Show in Explorer,它是可见的.

如何在Android Studio中创建文件夹,以便我可以更改等文件styles.xml

android android-studio

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

选择释放模式时应用程序崩溃但在调试模式下运行完美

我想减少我的应用程序的大小,因此我minifyEnabled true在发布模式下使用,但由于此应用程序崩溃.以下是我的

的build.gradle

 buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        // replace with the current version of the Android plugin
        classpath 'com.android.tools.build:gradle:1.1.0'
        // the latest version of the android-apt plugin
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
    }
    }

    apply plugin: 'com.android.application'
    apply plugin: 'com.neenbedankt.android-apt'

    apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName android.defaultConfig.applicationId
     }
     }

     android {
     compileSdkVersion 21
     buildToolsVersion "21.1.2"

     defaultConfig {
        applicationId "com.iifl.news.codereduce"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), …
Run Code Online (Sandbox Code Playgroud)

android proguard android-activity android-studio

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

NetworkType.UNMETERED 与 NetworkType.METERED - PeriodicWork

在我的应用程序中,我使用工作管理器进行定期工作。我正在将文件上传到服务器。我有一个按钮,单击该按钮会显示一个对话框并询问用户 - 您在上传文件时要使用哪个网络 - 1. Wifi 2. Any

如果用户点击wifi,我每30分钟上传一次文件,如果用户点击Any我每1小时上传一次文件。

以下是我的代码: 1. 如果用户选择 WIFI

PeriodicWorkRequest.Builder wifiWorkBuilder =
                            new PeriodicWorkRequest.Builder(FileUpload.class, 30,
                                    TimeUnit.MINUTES)
                                    .addTag("WIFIJOB1")
                                    .setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.UNMETERED).build());
                    wifiWork = wifiWorkBuilder.build();
                    WorkManager.getInstance().enqueueUniquePeriodicWork("wifiJob", ExistingPeriodicWorkPolicy.REPLACE, wifiWork);
Run Code Online (Sandbox Code Playgroud)

如果用户选择任何:

PeriodicWorkRequest.Builder mobileDataWorkBuilder =
                                new PeriodicWorkRequest.Builder(FileUpload.class, 1,
                                        TimeUnit.HOURS)
                                        .addTag("MOBILEDATAJOB1")
                                        .setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.CONNECTED).build());
                        mobileDataWork = mobileDataWorkBuilder.build();
                        WorkManager.getInstance().enqueueUniquePeriodicWork("mobileDataJob", ExistingPeriodicWorkPolicy.REPLACE, mobileDataWork);
Run Code Online (Sandbox Code Playgroud)

对于任何网络,它都能完美运行并每 1 小时上传一次 apk。但是如果用户选择 Wifi 那么这里是问题 -

如果用户连接到其他移动设备的 wifi(比如他正在使用热点),那么这里的网络我想我认为是计量网络,所以它不会上传文件。我只想知道我们的家庭或办公室网络默认情况下是否为未计量网络。如果假设它没有修复(意味着有些是计量的,有些是未计量的),那么如果用户选择 wifi 并且用户 wifi 被认为是计量的,那么使用此代码将永远不会从他的设备文件上传。

或者我应该创建另一个任务,例如:

PeriodicWorkRequest.Builder meteredwifiWorkBuilder =
                            new PeriodicWorkRequest.Builder(FileUpload.class, 45,
                                    TimeUnit.MINUTES)
                                    .addTag("METEREDWIFIJOB")
                                    .setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.METERED).build());
                    wifiWork = wifiWorkBuilder.build();
                    WorkManager.getInstance().enqueueUniquePeriodicWork("meteredwifiJob", ExistingPeriodicWorkPolicy.REPLACE, wifiWork);
Run Code Online (Sandbox Code Playgroud)

因此,如果用户未连接到 wifi 文件将在每 1 …

android android-workmanager

7
推荐指数
1
解决办法
2341
查看次数

在android中的应用程序通知

是否有应用内通知之类的东西?(推送通知除外)如果是,请给我一些有关它的信息的链接。我有谷歌,但没有发现任何重要的东西。

notifications android android-notifications

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

$ .mobile.changePage在多页中无法正常工作

大家好我从index.html导航到test.html,因为$.mobile.changePage("test.html", {transition : "slide"}); 它工作正常.但是在我的test.html中,不同的div中有多个html页面.在test.html中我调用不同的html页面,它位于同一个html文件(ietest.html)中的不同div中,$.mobile.changePage("#secondtestPage", {transition : "slide"}); 但是这里它不会导航到secondtestPage.我的index.html如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>jQuery Mobile: Demos and Documentation</title>

    <link rel="stylesheet"  href="jquery.mobile/jquery.mobile-1.1.0.css" />
    <link rel="stylesheet" href="docs/assets/css/jqm-docs.css" />
    <link rel="stylesheet" href="docsdemos-style-override.css" />
    <script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script>
    <!-- Uncomment following line to access PhoneGap APIs (not necessary to use PhoneGap to package web app) -->
    <!-- <script type="text/javascript" charset="utf-8" src="cordova-1.6.1.js"></script>-->


</head> 
<body> 
    <div data-role="page" id="firstPage" onclick=callSecondPage() class="type-home" data-ajax="false" >

            <div data-role="button">
                <input type="submit" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui jquery-mobile cordova

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

WorkManager.getInstance()。cancelAllWorkByTag()不会停止定期作业

对于定期任务,我将工作管理器用作:

PeriodicWorkRequest.Builder wifiWorkBuilder =
                            new PeriodicWorkRequest.Builder(FileUpload.class, 15,
                                    TimeUnit.MINUTES)
                                    .setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.METERED).build());
                    PeriodicWorkRequest wifiWork = wifiWorkBuilder.build();
                    WorkManager.getInstance().enqueueUniquePeriodicWork("wifiJob", ExistingPeriodicWorkPolicy.REPLACE, wifiWork);
Run Code Online (Sandbox Code Playgroud)

我在该活动中有一个活动,如果用户取消选中该复选框,则会有一个复选框,然后我想停止此作业。所以我停止了工作:

WorkManager.getInstance().cancelAllWorkByTag("wifiJob");
Run Code Online (Sandbox Code Playgroud)

但是停止工作后,我的任务也正在执行。以前我以为下一个作业可能会被执行,此后它将停止,但是在过去的1小时中它执行了4次,而作业仍在后台运行。什么是停止工作的其他方法或正确方法。

根据文档:

使用给定的标签取消所有未完成的工作。请注意,取消是一项尽力而为的政策,已经执行的工作可能会继续运行。

这是什么意思-取消是一项尽力而为的政策,已经执行的工作可能会继续运行。那么阻止这种情况的正确方法是什么

我正在使用版本,implementation "android.arch.work:work-runtime:1.0.0-alpha08" 谢谢

android android-jetpack android-workmanager

5
推荐指数
2
解决办法
3334
查看次数

minifyEnabled true生成许多警告

大家好,在更改build.gradle属性后,minifyEnabled true 我收到以下错误.我读过如果我们使用minifyEnabled true那么

The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure names. The result is a smaller sized .apk file that is more difficult to reverse engineer
Run Code Online (Sandbox Code Playgroud)

我想用上面的好处.

Warning:butterknife.internal.ButterKnifeProcessor: can't find superclass or     interface javax.annotation.processing.AbstractProcessor
Warning:retrofit.RxSupport$1: can't find superclass or interface rx.Observable$OnSubscribe
Warning:library class dagger.internal.codegen.GraphAnalysisErrorHandler extends or implements program class dagger.internal.Linker$ErrorHandler
Warning:library class dagger.internal.codegen.GraphAnalysisInjectBinding extends or implements program class dagger.internal.Binding
Warning:library class …
Run Code Online (Sandbox Code Playgroud)

android android-studio

4
推荐指数
1
解决办法
4366
查看次数

不同机器 apk 上同一设备的不同 Settings.Secure.ANDROID_ID

我正在使用代码获取 AndroidIdString android_id = Settings.Secure.getString(MyApplication.getContext().getContentResolver(), Settings.Secure.ANDROID_ID);

如果我在不同的机器上运行此代码,那么我会为同一设备获得不同的 android_id 。为什么会这样呢?

提前致谢

android

3
推荐指数
1
解决办法
5117
查看次数