小编kov*_*and的帖子

与4.0.3相比,应用UI操作(设置alpha,设置边距等)在4.4.4上非常慢

我有一个更改ImageView的alpha的搜索栏.这在使用android 4.0.3的旧HTC Desire 200上非常流畅.我试图在拥有android 4.4.4的摩托罗拉Moto G 2014上运行相同的代码.摩托罗拉手机的强度是HTC的3倍,但是当我使用搜索栏时,应用程序会断断续续.

问题不在于手机,在Antutu基准测试中,摩托罗拉手机获得了18000分,而HTC获得了6000分.

以下是搜索栏更改事件:

    int counter = 0;
    private void mainSeekBarProgreessChanges(SeekBar seekBar, int progress) {
        float a = progress / 100f;
        imgRight.setAlpha(a);

        ++counter;
        txtMsg.setText(Integer.toString(counter));
    }
Run Code Online (Sandbox Code Playgroud)

口吃仅出现较大的图片(1280x720或更大).小图片没有口吃.

当我使用搜索栏设置视图的边距时,也会出现断断续续的情况.

这是应用程序的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testprog1"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

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

这是活动:

<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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.testprog1.MainActivity" >

    <FrameLayout …
Run Code Online (Sandbox Code Playgroud)

android

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

如何避免链接几个AsyncTask调用?

我必须多次调用Web服务,但每一步都使用上一步中的值,所以现在我有一个巨大的AsyncTasks链:每个AsyncTask都在上一步的AsyncTask的onPostExecute()中执行.这非常非常难看,很难修改.我怎么能避免这个?我想把每一步都放在一个单独的函数中:

int step5() //this function is on the main UI thread
{
   return getStep5ValuesFromWebService() + valuesFromPreviousSteps;
}

int getStep5ValuesFromWebService()
{
   //do work on new thread
   //GetValueFromService(); <-- this is the function that returns an int from the web service, but it has to be called from another thread
}
Run Code Online (Sandbox Code Playgroud)

如何调用GetValueFromService()以便step5()函数返回GetValueFromService()函数中计算的值?

java android

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

'drawable'文件夹中的图像会自动调整大小?

我在res/drawable文件夹中有一个1280x720px图像(不是drawable-hdpi,drawable-ldpi等文件夹).但在运行时,大小为2560x1440px.这怎么可能?android会调整drawable文件夹中的图像吗?

这是代码:

    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.start_image_left);
    int h = bitmap.getHeight(), w = bitmap.getWidth();
Run Code Online (Sandbox Code Playgroud)

我正在摩托罗拉Moto G gen2上测试这个.

android

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

如何检查可为空的布尔值是否不正确?

现在,我有了这个有效的方法,但是它又长又难看:

        var details = dc.SunriseShipment
            .Where(it => (it.isDeleted == null || it.isDeleted == false));
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?我尝试了“ it.isDeleted!= true”和“ it.isDeleted ?? false == false”,但是它们不起作用。

c# linq entity-framework

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

如何防止继承属性的修改?

我在标准的wpf组合框中添加了一些额外的东西.在构造函数中,我设置了两个属性:

public SmartComboBox()
            : base()
        {
            this.IsEditable = true;
            this.IsTextSearchEnabled = false;
            ...
        }
Run Code Online (Sandbox Code Playgroud)

这两个属性继承自System.Windows.Controls.ComboBox.在构造函数中设置它们的值后,如何防止修改这两个属性?

c# wpf inheritance

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

函数没有地址,可能是由于编译器优化所致

在 Visual Studio 2022 中,如果我尝试在“监视”窗口中调用简单结构的函数,则会收到“函数没有地址,可能是由于编译器优化”错误。如果我在“监视”窗口中调用模板函数,则会收到此错误:“MyStruct”类没有成员“Multi”。如果我在源代码中使用一次这些函数,那么它们也将开始在 Watch 窗口中工作,但是如何使它们在 Watch 窗口中工作而不必在源代码中使用它们呢?

我的代码:

struct MyStruct
{
    int i;
    MyStruct(int _i) : i{ _i } {}
    int Add(int x) { return i + x; };

    template<typename _Tp> inline _Tp Multi(int x)
    {
        return (_Tp)i * x;
    }
};

int main()
{
    MyStruct s1(2);
    //auto x1 = s1.Add(5);
    //auto x2 = s1.Multi<double>(9);

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

和监视窗口: 在此输入图像描述

我正在运行调试版本。链接器 -> 调试 -> 生成调试信息设置为“/DEBUG:FULL”并且禁用优化:禁用 (/Od)。

c++ visual-studio visual-studio-2022

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