当我点击我的Android应用程序上的按钮时性能非常慢

时间:2016-11-26 15:54:28

标签: android performance

当我在垂直视图中在我的手机(华为G8)上测试时,点击我的应用程序中的这4个按钮中的任何一个需要5秒钟

它也会在按钮中留下第二个或第二个黑点 在水平视图中它工作得更快

在模拟器中它也可以正常工作

java文件

package com.example.kemo.videoplayer;

import android.content.Context;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.content.Intent;
import android.widget.Button;
import android.widget.ImageButton;

public class Home extends AppCompatActivity {

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

    final ImageButton facebook1 = (ImageButton)        findViewById(R.id.imageButton);
    facebook1.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // your handler code here image 1
            Intent browserIntent = new Intent(Intent.ACTION_VIEW,     Uri.parse("http://www.facebook.com"));
            startActivity(browserIntent);
        }
    });
    final ImageButton youtube1 = (ImageButton)     findViewById(R.id.imageButton2);
    youtube1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // your handler code here image 1
            Intent browserIntent = new Intent(Intent.ACTION_VIEW,     Uri.parse("http://www.youtube.com"));
            startActivity(browserIntent);
        }
    });


    final Button button = (Button) findViewById(R.id.btnabout);
    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // your handler code here
            Intent intent = new Intent(getBaseContext(), About.class);
            startActivity(intent);
        }
    });

    final Button button1 = (Button) findViewById(R.id.btnaikido);
    button1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // your handler code here
            Intent intent = new Intent(getBaseContext(), Aikido.class);
            startActivity(intent);
        }
    });

    final Button button2 = (Button) findViewById(R.id.btnv);
    button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // your handler code here
            Intent intent = new Intent(getBaseContext(),     MainActivity.class);
            startActivity(intent);
        }
    });

    final Button button3 = (Button) findViewById(R.id.btnpic);
    button3.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // your handler code here
            Intent intent = new Intent(getBaseContext(), Gview.class);
            startActivity(intent);
        }
    });

}


}

XML文件

 <?xml version="1.0" encoding="utf-8"?>
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        tools:context="com.example.kemo.videoplayer.Home">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/imageView3"
            android:layout_height="140dp"
            android:scaleType="fitXY"
            android:background="@drawable/aikidobanner" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnabout"
            android:layout_margin="5dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/btnaikido"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:text="@string/aikido" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnaikido"
            android:layout_margin="5dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/btnv"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:text="@string/videos" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/btnv"
            android:layout_margin="5dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/btnpic"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:text="@string/gallery" />

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btnabout"
            android:text="@string/about"
            android:layout_below="@+id/imageView3"
            android:layout_margin="5dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageButton
            android:id="@+id/imageButton"
            app:srcCompat="@drawable/facebook"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:scaleType="fitXY"
            android:layout_marginTop="10dp"
            android:layout_marginRight="25dp"
            android:layout_marginLeft="50dp"

            android:background="@android:color/transparent" />

        <ImageButton
            android:id="@+id/imageButton2"
            app:srcCompat="@drawable/youtube"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:scaleType="fitXY"
            android:layout_marginTop="10dp"
            android:layout_marginLeft="25dp"
            android:layout_marginRight="50dp"
            android:background="@android:color/transparent" />
    </LinearLayout>

 </LinearLayout>
 </ScrollView>

2 个答案:

答案 0 :(得分:0)

如果没有看到应用程序的其余内容,很难确定,但这听起来像你正在推出的新活动可能在他们的onCreate方法中做了太多工作,或做了一些重量级的事情启动时UI线程上的其他一些方法。

根据您所显示的代码,我认为您家庭活动中的任何内容都不太可能,除非该活动中有一些密集的内容。 UI线程。

答案 1 :(得分:0)

从您显示的代码中找不到任何明显的错误。所以,如果那里没有其他代码,问题仍然存在,我建议您应该通过消除过程找到它。例如,删除onCreate中的所有侦听器并仅添加一个,然后继续尝试。