小编Bri*_*ite的帖子

Android布局错误:"资源ID <res_id>不是STYLE类型(而是attr)"

我看到一个我以前从未见过的错误,因为Android阻止了我的一些布局文件在Eclipse中呈现.它们在运行时渲染得很好.

图形布局编辑器(和我的错误日志)中显示的错误是:"Resouce id 0x1010081不是STYLE类型(而是attr)"

我在我的R文件中搜索了资源ID 0x1010081,我找不到它所以我猜可能某种程度上我与内置的Android attr有冲突.我还验证了下面的所有样式属性都指向实际样式而不是attr.任何帮助赞赏.

这是我的完整布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bkg_light"
    android:padding="@dimen/padding_med" >

    <RelativeLayout
        android:id="@+id/relativeLayout_activity"
        android:layout_width="fill_parent"
        android:layout_height="@dimen/button_height"
        android:background="@drawable/xml_button"
        android:padding="@dimen/padding_med" >

        <TextView            
            style="@style/text_large_bold_white"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="@string/activity" />

        <TextView
            android:id="@+id/textView_activity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginRight="@dimen/margin_med"
            android:layout_toLeftOf="@+id/textView_arrow_right_start_date" 
            android:text="@string/none_selected"/>

        <TextView
            android:id="@+id/textView_arrow_right_start_date"
            style="@style/arrow_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true" />
    </RelativeLayout>

    <!-- kv Duration -->

    <RelativeLayout
        android:id="@+id/relativeLayout_duration"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/relativeLayout_activity"
        android:layout_marginTop="@dimen/margin_large"
        android:background="@drawable/xml_button">

        <TextView
            android:id="@+id/textView_duration"
            style="@style/text_large_bold_white"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:text="@string/duration_lc" 
            android:paddingLeft="@dimen/padding_med"/>

        <Spinner
            android:id="@+id/spinner_duration"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/button_height"
            android:layout_alignParentRight="true"
            android:entries="@array/array_durations"
            android:prompt="@string/duration_lc"
            android:spinnerMode="dropdown" 
            android:clickable="false"/>
    </RelativeLayout>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是我的styles.xml: …

resources layout android android-layout android-resources

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

停止服务正在进行持续垃圾收集

我正在开发一个有很多服务的应用程序.当我停止intent服务时,应该停止所有线程和服务,但是UI挂起并且logcat中存在以下错误:

2014-12-01 12: 37: 92I/art     (32099): Background partial concurrent mark sweep GC freed 419756(33MB) AllocSpace objects, 15(4MB) LOS objects, 38% free, 25MB/41MB, paused 1.617ms total 451.976ms
2014-12-01 12: 37: 40I/art     (32099): Background sticky concurrent mark sweep GC freed 290680(16MB) AllocSpace objects, 0(0B) LOS objects, 23% free, 25MB/33MB, paused 23.287ms total 229.513ms
2014-12-01 12: 37: 29I/art     (32099): Background partial concurrent mark sweep GC freed 165880(9MB) AllocSpace objects, 0(0B) LOS objects, 39% free, 23MB/39MB, paused 1.648ms total 203.601ms
2014-12-01 12: 37: 54I/art …
Run Code Online (Sandbox Code Playgroud)

android garbage-collection

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

Java CMS被忽略并获得完整的GC

我正在运行一个使用CMS作为终身收藏家的Java服务器.在负载测试下运行,我看到每个1s的年轻集合和大约每5米的终身(并发).这很好.

当我以大约1/2容量的实际流量运行时,我会得到大约每4秒的年轻收藏品并且每隔7米就会终身(!平行,停止世界!).为什么JVM决定使用完全停止世界的集合而不是使用CMS收集器?

从gc.log中可以看到正在运行的"Full GC"并且需要3s才能完成.这里没有并发模式失败.什么都没有明确要求收集.

1350.596: [GC 1350.596: [ParNew
Desired survivor size 119275520 bytes, new threshold 3 (max 3)
- age   1:   34779376 bytes,   34779376 total
- age   2:   17072392 bytes,   51851768 total
- age   3:   24120992 bytes,   75972760 total
: 1765625K->116452K(1864192K), 0.1560370 secs] 3887120K->2277489K(5009920K), 0.1561920 secs] [Times: user=0.40 sys=0.04, real=0.16 secs] 
1355.106: [GC 1355.107: [ParNew
Desired survivor size 119275520 bytes, new threshold 3 (max 3)
- age   1:   44862680 bytes,   44862680 total
- age   2:   20363280 bytes,   65225960 total
- …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection jvm

9
推荐指数
1
解决办法
5325
查看次数

当DrawerLayout可见时,不要忽略主要内容吗?

在Android中使用DrawerLayout时,打开抽屉会导致主要内容区域变暗.是否有任何方法可以避免这种情况,以便在抽屉出来时主要内容保持同样可见?

android drawerlayout

9
推荐指数
1
解决办法
2254
查看次数

如何在三星手机上停止过多的对象创建?

我在许多Android三星手机上的动画速度有问题.我已经追踪了这个问题,垃圾收集太多了.但是,我的代码没有直接创建任何对象.

这是来自DDMS中的分配跟踪器的堆栈跟踪.

  at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:493) 
  at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:491) 
  at com.samsung.android.multiwindow.IMultiWindowFacade$Stub$Proxy.getMultiWindowStyle(IMultiWindowFacade.java:499) 
  at com.samsung.android.multiwindow.MultiWindowFacade.getMultiWindowStyle(MultiWindowFacade.java:81)   
  at android.app.Activity.getMultiWindowStyle(Activity.java:4681)   
  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1688)    
  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1264)  
  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6614)    
  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)  
  at android.view.Choreographer.doCallbacks(Choreographer.java:613) 
  at android.view.Choreographer.doFrame(Choreographer.java:583) 
  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)   
  at android.os.Handler.handleCallback(Handler.java:733)    
  at android.os.Handler.dispatchMessage(Handler.java:95)    
  at android.os.Looper.loop(Looper.java:146)    
  at android.app.ActivityThread.main(ActivityThread.java:5678)  
Run Code Online (Sandbox Code Playgroud)

当用户触摸屏幕时,这会创建数千个Rect和Point对象.

有没有人知道一个解决方法?

我不是针对三星手机或使用他们的sdks或库.

performance android garbage-collection samsung-mobile

9
推荐指数
1
解决办法
565
查看次数

为什么Android Studio会说"未收到测试事件"?

我正在尝试在我的Android应用程序中进行单元测试,这是我正在做的简单的测试教程.

import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;

@RunWith(RobolectricTestRunner.class)
public class ServerListManagerTest extends AndroidTestCase{

   @Test
   public void testTrueIsTrue() throws Exception {
    assertEquals(true, true);
    }
}
Run Code Online (Sandbox Code Playgroud)

目录是这样的, src\main\androidTest\java\some packages\ServerListManagerTest.java

我尝试更改此目录,并构建配置.虽然构建成功,但android studio仍然无法识别我的单元测试.

这是我在app中的build.gradle,

apply plugin: 'com.android.application'

android {
   compileSdkVersion 21
   buildToolsVersion "21.1.2"

   defaultConfig {
       applicationId "com.kaist.se.pmpapp"
       minSdkVersion 16
       targetSdkVersion 21
       versionCode 1
       versionName "1.0"
   }

buildTypes {
       release {
          minifyEnabled false
          proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
      }
sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } } }



dependencies {
    compile …
Run Code Online (Sandbox Code Playgroud)

junit unit-testing gradle android-studio android-gradle-plugin

9
推荐指数
3
解决办法
2912
查看次数

使用Visual Studio调试VMWare进程:登录失败

从Windows7主机,我有一个在VMWare的Windows10 VM下运行的进程.使用Visual Studio 2013和VMWare远程调试插件,我想附加到此过程.当我尝试时,我被提示输入我的用户名和密码,但在输入后,我收到错误:

登录失败.客户机操作系统中的身份验证失败或权限不足

"附加到进程"对话框具有正确的"正在运行的虚拟机"和关联的"虚拟机位置"."远程调试监视器"设置为主机上的路径...\Remote Debugger\x86\msvsmon.exe."远程调试监视器名称"设置为"VMDebug".

我的Win7主机是域的一部分,但Win10的客户不是.他们有不同的密码.我能够做到在Win7的虚拟机,这也是域上的远程调试.在那里,我将"COMPANY\bcwhite"连接到我的密码,该密码与主机相同.

第一个显而易见的问题是:什么是正确的"用户名",因为Win10没有让这个显而易见? 是"Brian White","bcwhite"还是"bcwhite@example.com"?当然,我已经尝试了所有这三个并且总是得到同样的错误.

第二个问题是:客户操作系统需要哪些其他权限? 我如何获得更多信息?

vmware remote-debugging vmware-workstation visual-studio visual-studio-2013

7
推荐指数
0
解决办法
251
查看次数

iOS可以支持HTTP方案中的深层链接吗?

在Android下,您可以捕获部分"http"空间并使用它来深入链接到应用程序.例如,YouTube应用使用此功能,因此任何指向http://www.youtube.com/的链接都可以选择在原生应用中打开.

是否有可能对iOS深层链接做同样的事情? 我的搜索仅显示自定义方案的示例,所以我猜不是.

如果没有,怎么可能完成? 我可以让我的网络服务器使用我的自定义方案从http网址重定向到网址吗?

或者甚至更好,我如何检测应用程序是否已安装并深入链接到该应用程序或将用户发送到相应的下载页面?

deep-linking ios

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

如何在 Angular 应用程序中以编程方式加载“惰性”模块?

我有一个不使用 Router 的整体 Angular 15 应用程序。它内部的组件数量不断增加,我想将大部分组件分解成一个单独的模块并单独加载它们。

我的应用程序已经有一个带有“加载”进度条的启动屏幕,该进度条随着从服务器获取数据而前进。我希望主 AppModule 包含一组最小的组件来开始工作,然后我将加载其余组件作为进度条监视的启动任务之一。

目前的情况...

应用程序模块.ts:

import {NgModule, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {BrowserModule} from '@angular/platform-browser';
import {FormsModule} from "@angular/forms";
import {MatProgressBarModule} from '@angular/material/progress-bar';
import {MatSidenavModule} from "@angular/material/sidenav";

import {SharedModule} from "./shared.module";

import {AppComponent} from './app.component';
import {ResizeableSidenavDirective} from "../components/resizeable-sidenav.directive";
import {SplashScreenComponent} from "../components/splash-screen/splash-screen.component";

@NgModule({
    declarations: [
        AppComponent,
        SplashScreenComponent,
        ResizeableSidenavDirective,
    ],
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        MatProgressBarModule,
        MatSidenavModule,
        SharedModule
    ],
    providers: [],
    bootstrap: [AppComponent],
    schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AppModule …
Run Code Online (Sandbox Code Playgroud)

lazy-loading angular

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

使用Android,如何设置Cloud Endpoint请求的最长截止日期?

ClientEndpoint从Android应用程序向App-Engine服务发出API请求时,如何为操作设置截止日期/超时execute()

我正在寻找类似的东西:

Foo foo = endpoint.getSomething(id) .setDeadline(2000/*ms*/) .execute();
Run Code Online (Sandbox Code Playgroud)

google-app-engine android google-cloud-endpoints

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

如何使 animatorInflater 正确?

我正在尝试更正,AnimatorInflater但它不起作用,我找不到我的错误。

主活动.java:

package com.example.administrator.propertyanimation;

import android.animation.AnimatorInflater;
import android.animation.ObjectAnimator;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;

import android.widget.Button;
import android.util.*;


public class MainActivity extends ActionBarActivity {

    private Button mbttn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mbttn = (Button) findViewById(R.id.btn);


        ObjectAnimator anim = (ObjectAnimator) AnimatorInflater.loadAnimator(MainActivity.this, R.animator.propertyanimation);
                anim.setTarget(mbttn);
        anim.start();

        return ;
    }
}
Run Code Online (Sandbox Code Playgroud)

属性动画.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
    android:propertyName="rotation"
    android:valueFrom="0"
    android:valueTo="360"
    android:duration="3000"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
</set>
Run Code Online (Sandbox Code Playgroud)

这是 logcat 输出:

03-27 10:27:05.422    3825-3825/com.example.administrator.propertyanimation E/AndroidRuntime? FATAL EXCEPTION: main
    Process: com.example.administrator.propertyanimation, PID: 3825 …
Run Code Online (Sandbox Code Playgroud)

android android-animation

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