質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

0回答

2308閲覧

画像変更でアプリが重くなります

MickeyWaffle08

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/01/23 04:30

編集2022/01/12 10:55

###前提・実現したいこと
Androidstudio(Java)を使って、銃の早撃ちアプリを作成しています。
ゲーム画面の画像をかえてから、重くなりました。
ゲーム画面だけ動作がすべて重くなります。

###発生している問題・エラーメッセージ
I/OMXClient: Using client-side OMX mux.
E/OMXMaster: A component of name 'OMX.qcom.audio.decoder.aac' already exists, ignoring this one.
W/art: Suspending all threads took: 10.955ms
I/Choreographer: Skipped 33 frames! The application may be doing too much work on its main thread.
W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by client; transfer 4, track 44100 Hz, output 48000 Hz
I/Choreographer: Skipped 38 frames! The application may be doing too much work on its main thread.

###該当のソースコード
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Build;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import java.util.Random;

public class game_page extends AppCompatActivity {

int wait_time, attack_time;//撃つまでの待ち時間|撃たれる時間 Boolean wait_flag = false , attack_flag = true, start_flag = false, victory_flag = false;//待ち時間かの判断|撃たれたかの判断 int level; //難易度設定 Long startTime; SoundPool soundPool; //効果音用 int gun_sound; //////////////////////////////////////////// TextView score; ImageView action_view, mokumoku_view; Button shotButton; RelativeLayout layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.game_page); mokumoku_view = (ImageView) findViewById(R.id.imageView); shotButton = (Button) findViewById(R.id.shoot_button); score = (TextView) findViewById(R.id.score_view); layout = (RelativeLayout)findViewById(R.id.layout); soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0); gun_sound = soundPool.load(this, R.raw.gun_sound, 1); Random rnd = new Random(); wait_time = rnd.nextInt(12)+3; /*データ取得(難易度確認)--------------------------------------------------------------*/ SharedPreferences data = getSharedPreferences("game_data", Context.MODE_PRIVATE); level = data.getInt("level",3); /*------------------------------------------------------------------------------------*/ switch (level){ case 1://簡単 attack_time = rnd.nextInt(5)+8;//0.8-1.3秒 break; case 2://普通 attack_time = rnd.nextInt(3)+5;//0.5-0.8秒 break; case 3://難しい attack_time = rnd.nextInt(2)+3;//0.3-0.5秒 break; } Log.d("Game","WatiTime : "+wait_time); Log.d("Game","AttackTime : "+attack_time*100); if (Build.VERSION.SDK_INT >= 19){ Window window = getWindow(); View view = window.getDecorView(); view.setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN ); } } public void Start(View v){ if (start_flag == false){ //スタートボタンを押したら Log.d("Game","Start"); shotButton.setText("SHOOT"); start_flag = true; layout.setBackgroundResource(R.drawable.afterstart); new Handler().postDelayed(new Runnable() { @Override public void run() { //撃つタイミングになたっら Log.d("Game","NOW!"); wait_flag = true; layout.setBackgroundResource(R.drawable.bunnow); startTime = System.currentTimeMillis(); //TODO:音の再生 } }, 1000 * wait_time);//1000 * (撃つタイミング秒数) new Handler().postDelayed(new Runnable() { @Override public void run() { Log.d("Game","BUN!!!"); attack_flag = false; //TODO:負けの処理 } }, 1000 * wait_time + 100 * attack_time);//100 * (撃たれる秒数) }else{ //撃つボタンを押したら Log.d("Game","attack_flag"+attack_flag+"/ wait_flag"+wait_flag); mokumoku_view.setBackgroundResource(R.drawable.mokumoku); Animation animation= AnimationUtils.loadAnimation(this,R.anim.alpha_fadeout); mokumoku_view.startAnimation(animation); shotButton.setEnabled(false); if (wait_flag == true) { Long stopTime = System.currentTimeMillis(); Long time = stopTime - startTime; score.setText("Time : " + time + "ms"); }else{ score.setText("Time : --- ms"); } soundPool.play(gun_sound, 0.2f, 0.2f, 0, 0, 1); SharedPreferences preferences = getSharedPreferences("game_data", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); int win = preferences.getInt("win",0); int lose = preferences.getInt("lose",0); if (attack_flag == true && wait_flag == true){ //撃たれていなければ(勝ち) victory_flag = true; layout.setBackgroundResource(R.drawable.math_win); win += 1; editor.putInt("win", win); Log.d("Game","WIN"); }else{ //負け layout.setBackgroundResource(R.drawable.math_lose); lose += 1; editor.putInt("lose", lose); Log.d("Game","LOSE"); } editor.apply(); } } public void Return(View v){ Intent intent = new Intent(this,Menu_Activity.class); startActivity(intent); finish(); }

}

###試したこと
画像の変え方などをかえました。

###補足情報(言語/FW/ツール等のバージョンなど)
Androidstudio 2.1.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2018/01/23 06:53

「画像をかえた」ではわかりません。どこをどのように変えたのかを具体的に書いてください。
unz.hori

2018/01/23 06:54

画像を変えたという表現がわかりにくいです。重くなる前と重くなった後の間で行ったことを詳しく記述してください
MickeyWaffle08

2018/01/26 07:07

RelativeLayoutのbackgroundを変更しようとしたとき、layout.setBackgroundResource(R.drawable.afterstart);このコードで動作が重くなります。初めての投稿で、いまいち書き方がわからないです。すいません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問