DDMS调试:Android应用(正在开发)会导致设备(仅限Nexus 5)挂起,并且在使用ZXING和Dialog时必须重新启动 [英] DDMS Debugging: Android app (I'm developing) causes device (ONLY Nexus 5) to hang and must restart when using ZXING and Dialog

查看:110
本文介绍了DDMS调试:Android应用(正在开发)会导致设备(仅限Nexus 5)挂起,并且在使用ZXING和Dialog时必须重新启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个android应用. 我正在使用ZXING片段开源条形码扫描. 我可以选择手动输入条形码.因此,当用户按下手动输入按钮时,我会打开一个带有编辑文本的对话框.在对话框出现之前,我先暂停相机并扫描. 这会导致设备挂起,顶部的条形图将其自身倍增,使其越来越多地自我填充,直到充满显示器为止.摆脱这种情况的唯一方法是重新启动设备.

I'm developing an android app. I'm using ZXING fragment open source barcode scanning. I have an option to manually input the barcode. So when the user press the manual input button I open a dialog with edit text. Before the dialog appears I pause the camera and scanning. This causes the device to hang, the top bar multiples it self adding it self more and more times until it fills the display. The only way to get out of this situation is to restart the device.

此错误仅在Nexus 5中再现

如何在DDMS中调试它?

How can I debug this in DDMS?

我一无所知:P有什么想法吗?!

I'm clueless :P Any ideas?!

这是发生这种情况时设备的外观,您必须重新启动设备:

This is how the device looks when this happens and you must restart the device:

这是@Apoorv要求的我的主题和样式文件

Here are my Theme and Styles files as asked by @Apoorv

themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="MybusinessTheme"
           parent="@style/Theme.AppCompat.Light">
        <item name="android:actionBarStyle">@style/MybusinessActionBar</item>
        <item name="android:actionMenuTextColor">@color/white</item>
        <item name="android:homeAsUpIndicator">@drawable/ic_home_up</item>
        <item name="android:actionOverflowButtonStyle">@style/MybusinessButtonOverFlow</item>
        <!-- Remove the shadow of the actionbar -->
        <item name="android:windowContentOverlay">@null</item>

        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MybusinessActionBar</item>
        <item name="actionMenuTextColor">@color/white</item>
        <item name="homeAsUpIndicator">@drawable/ic_home_up</item>
        <item name="actionOverflowButtonStyle">@style/MybusinessButtonOverFlow</item>

        <!-- For app launching -->
        <item name="android:windowBackground">@color/wrntr_purple</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MybusinessActionBar"
           parent="@style/Widget.AppCompat.Light.ActionBar">
        <item name="android:background">@color/wrntr_purple</item>
        <item name="android:titleTextStyle">@style/WarrenteerActionBarTitleText</item>

        <!-- Support library compatibility -->
        <item name="background">@color/wrntr_purple</item>
        <item name="titleTextStyle">@style/WarrenteerActionBarTitleText</item>
    </style>

    <!-- Over flow button style -->
    <style name="MybusinessButtonOverFlow"
           parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
        <item name="android:src">@drawable/ic_action_overflow</item>
   </style>

    <!-- ActionBar title text -->
    <style name="WarrenteerActionBarTitleText"
           parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/white</item>
    </style>

    <style name="MybusinessTheme.Wallpaper"
           parent="MybusinessTheme">
    </style>
</resources>

styles.xml

<resources>
    <style name="ActivityBase">
        <item name="android:background">@color/white</item>
    </style>

    <style name="NextButton">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_alignParentBottom">true</item>
        <item name="android:layout_alignParentLeft">true</item>
        <item name="android:textSize">@dimen/medium_text</item>
        <item name="android:textColor">@drawable/next_button_text_color</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_marginLeft">20dp</item>
        <item name="android:layout_marginBottom">20dp</item>
        <item name="android:padding">5dp</item>
        <item name="android:background">@drawable/next_button_selector</item>
    </style>

    <style name="PreviousButton" parent="NextButton">
        <item name="android:layout_alignParentLeft">false</item>
        <item name="android:layout_alignParentRight">true</item>
        <item name="android:layout_marginRight">20dp</item>
    </style>

    <style name="DescriptionText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_below">@id/welcomeText</item>
        <item name="android:textSize">@dimen/medium_text</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
    </style>

    <style name="NormalButton">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">10dp</item>
        <item name="android:layout_margin">10dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:background">@drawable/button_selector</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="NormalBoldButton">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">10dp</item>
        <item name="android:layout_margin">10dp</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:background">@drawable/button_selector</item>
        <item name="android:textStyle">bold</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="LightButton">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">10dp</item>
        <item name="android:layout_margin">10dp</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:background">@drawable/light_button_selector</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="TitleText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">@dimen/xx_large_text</item>
    </style>

    <style name="WizardProgressNumber">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:paddingBottom">4dp</item>
        <item name="android:paddingTop">7dp</item>
        <item name="android:paddingRight">9dp</item>
        <item name="android:paddingLeft">9dp</item>
        <item name="android:layout_gravity">center</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_marginLeft">6dp</item>
        <item name="android:background">@drawable/white_circle</item>
    </style>

    <style name="WizardProgressViewDefault">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:padding">5dp</item>
        <item name="android:layout_marginRight">15dp</item>
        <item name="android:layout_marginTop">@dimen/add_other_device_space</item>
        <item name="android:layout_marginBottom">@dimen/add_other_device_space</item>
    </style>

    <style name="NavigationDrawer">
        <item name="android:layout_width">240dp</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_gravity">start</item>
        <item name="android:choiceMode">singleChoice</item>
        <item name="android:divider">@color/mybiz_light_gray</item>
        <item name="android:dividerHeight">1dp</item>
        <item name="android:background">@android:color/white</item>
    </style>

    <style name="HomeMenuItem">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">@color/gray_turquoise_selector</item>
        <item name="android:textSize">@dimen/medium_text</item>
        <item name="android:layout_gravity">center</item>
        <item name="android:gravity">center_vertical</item>
        <item name="android:layout_margin">10dp</item>
        <item name="android:paddingTop">3dp</item>
        <item name="android:drawablePadding">10dp</item>
    </style>

    <style name="ProductListItem">
        <item name="android:layout_alignParentRight">true</item>
        <item name="android:layout_marginRight">15dp</item>
    </style>

    <style name="ObjectSeekBar">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">10dp</item>
        <item name="android:layout_marginTop">12dp</item>
        <item name="android:layout_marginLeft">5dp</item>
        <item name="android:layout_marginRight">5dp</item>
        <item name="android:padding">0dp</item>
        <item name="android:thumb">@null</item>
        <item name="android:progressDrawable">@drawable/days_left_progress</item>
    </style>

    <style name="ObjectBoldSmallText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/small_text</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:layout_marginRight">15dp</item>
        <item name="android:layout_gravity">right</item>
        <item name="android:textStyle">bold</item>
    </style>


    <style name="ObjectSmallText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/small_text</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:layout_marginRight">15dp</item>
        <item name="android:layout_gravity">right</item>
    </style>

    <style name="ObjectMediumText" parent="ProductListItem">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/medium_text</item>
        <item name="android:textColor">@color/mybiz_purple</item>
        <item name="android:layout_gravity">right</item>
    </style>

    <style name="ObjectMediumLargeText" parent="ProductListItem">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/medium_large_text</item>
        <item name="android:textColor">@color/mybiz_purple</item>
        <item name="android:layout_gravity">right</item>
    </style>

    <style name="ObjectLargeText" parent="ProductListItem">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textSize">@dimen/large_text</item>
        <item name="android:textColor">@color/mybiz_purple</item>
        <item name="android:layout_gravity">right</item>
    </style>

    <style name="HorizontalLineGray">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:layout_marginTop">5dp</item>
        <item name="android:background">@color/mybiz_gray</item>
    </style>

    <style name="HorizontalLineLightGray">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">0.5dp</item>
        <item name="android:layout_marginTop">5dp</item>
        <item name="android:background">@color/mybiz_light_gray</item>
    </style>

    <style name="buttonWhiteBorder">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">right</item>
        <item name="android:textColor">@drawable/button_text_color_selector_white</item>
        <item name="android:paddingTop">10dp</item>
        <item name="android:paddingBottom">10dp</item>
        <item name="android:paddingLeft">20dp</item>
        <item name="android:paddingRight">20dp</item>
        <item name="android:layout_marginRight">15dp</item>
        <item name="android:background">@drawable/button_selector_white_transparent</item>
    </style>

    <style name="ManualInputButton" parent="buttonWhiteBorder">
        <item name="android:layout_marginTop">@dimen/add_other_device_space</item>
        <item name="android:layout_alignParentLeft">true</item>
        <item name="android:layout_marginLeft">15dp</item>
    </style>

    <style name="ButtonTurquoiseBorder">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textColor">@drawable/button_text_color_selector_turquoise</item>
        <item name="android:background">@drawable/button_selector_turquoise_transparent</item>
    </style>

    <style name="EditBoldTextLabel" parent="ObjectBoldSmallText">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:gravity">right</item>
        <item name="android:layout_marginRight">20dp</item>
        <item name="android:layout_marginTop">25dp</item>
    </style>


    <style name="EditTextLabel" parent="ObjectSmallText">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:gravity">right</item>
        <item name="android:layout_marginRight">20dp</item>
        <item name="android:layout_marginTop">25dp</item>
    </style>

    <style name="EditTextManualInputLabel" parent="EditBoldTextLabel">
        <item name="android:textColor">@color/white</item>
    </style>

    <style name="EditTextNormal">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_marginRight">20dp</item>
        <item name="android:layout_marginLeft">20dp</item>
        <item name="android:imeOptions">actionNext</item>
        <item name="android:singleLine">true</item>
    </style>

    <style name="EditTextManualInput" parent="EditTextNormal">
        <item name="android:textColorHint">@color/mybiz_light_gray</item>
        <item name="android:textColor">@color/white</item>
        <item name="android:background">@drawable/edit_text_white_selector</item>
    </style>

    <style name="LargeTextTitle" parent="ObjectLargeText">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:layout_marginTop">25dp</item>
    </style>

    <style name="MediumTextTitle" parent="ObjectMediumText">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/mybiz_dark_gray</item>
        <item name="android:layout_marginTop">25dp</item>
    </style>

</resources>

推荐答案

好的,我们遇到了同样的问题-仅限Nexus 5,但是使用ZBar lib而不是ZXing.

OK we had the same problem - Nexus 5 only, but with ZBar lib instead of ZXing.

通过从SurfaceView切换到TextureView可以解决此问题-但这会导致帧速率降低.

The issue was resolved by switching from a SurfaceView to a TextureView - however this resulted in slower frame rates.

通过测试,我们发现问题是由离开屏幕,抬起键盘再返回所引起的-我们的解决方案是在清单中将android:windowSoftInputMode设置为AdjustPan.

Through testing we found that our issue was caused by leaving the screen, bringing up the keyboard and going back - our solution was setting android:windowSoftInputMode to AdjustPan in the manifest.

希望这会有所帮助!

这篇关于DDMS调试:Android应用(正在开发)会导致设备(仅限Nexus 5)挂起,并且在使用ZXING和Dialog时必须重新启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆