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

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

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

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

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

Android

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

Q&A

1回答

3619閲覧

システムUI "問題が発生したため終了しました" とは?

o-kami

総合スコア12

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

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

Android

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

0グッド

0クリップ

投稿2015/12/26 12:49

自作のAndroidのアプリを実行すると動作がガクガクで右下のアプリ起動履歴ボタンを押すと"問題が発生したため、システムUIを終了します。"と表示されます。下がその時の条件です。実機(OSは4.2.2)でも同じでした。

  • Android Studioに搭載されている仮想デバイス
  • OSは 6.0 5.0 4.2.2 の3つ
  • 起動中のアプリはこのアプリのみ

そこで質問です。システムUIが終了するとは、このアプリがメモリを使いすぎているのでしょうか?

ちなみにそれがアプリ(バスの到着までのタイマー)のコードです。長いですが無駄なところや改善の余地があるところも教えてください。

JAVA

1package timer.example.jp.timer; 2 3 4import android.content.Context; 5import android.content.Intent; 6import android.content.SharedPreferences; 7import android.os.Bundle; 8import android.support.v7.app.ActionBarActivity; 9import android.view.Menu; 10import android.view.MenuItem; 11import android.view.View; 12import android.widget.Button; 13import android.widget.FrameLayout; 14import android.widget.TextView; 15 16 17public class ListActivity extends ActionBarActivity implements View.OnClickListener { 18 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.activity_list); 23 24 int[] list = new int[15]; 25 26 TableData tableData = new TableData(); 27 String bs = null;//バス停名 28 byte i; 29 SharedPreferences Data; 30 for (i = 0; i <= 14; ++i) { 31 list[i] = 0; 32 Data = getSharedPreferences("DataSave" + i, Context.MODE_PRIVATE); 33 list[i] = Data.getInt("LevelSave" + i, 0); 34 if(list[i]!=0) { 35 bs = tableData.BusStopName[list[i]-1]; 36 } 37 if (bs == null) { 38 int[] RidF = {R.id.FrameLayout1, R.id.FrameLayout2, R.id.FrameLayout3, R.id.FrameLayout4, R.id.FrameLayout5, R.id.FrameLayout6, R.id.FrameLayout7, R.id.FrameLayout8, R.id.FrameLayout9, R.id.FrameLayout10, R.id.FrameLayout11, R.id.FrameLayout12, R.id.FrameLayout13, R.id.FrameLayout14, R.id.FrameLayout15}; 39 FrameLayout layout = (FrameLayout) findViewById(RidF[i]); 40 layout.setVisibility(View.GONE); 41 } else { 42 int[] RidB ={R.id.button1,R.id.button2,R.id.button3,R.id.button4,R.id.button5,R.id.button6,R.id.button7,R.id.button8,R.id.button9,R.id.button10,R.id.button11,R.id.button12,R.id.button13,R.id.button14,R.id.button15}; 43 int[] RidT1 = {R.id.textView1_1, R.id.textView2_1, R.id.textView3_1, R.id.textView4_1, R.id.textView5_1, R.id.textView6_1, R.id.textView7_1, R.id.textView8_1, R.id.textView9_1, R.id.textView10_1, R.id.textView11_1, R.id.textView12_1, R.id.textView13_1, R.id.textView14_1, R.id.textView15_1}; 44 int[] RidT2 = {R.id.textView1_2, R.id.textView2_2, R.id.textView3_2, R.id.textView4_2, R.id.textView5_2, R.id.textView6_2, R.id.textView7_2, R.id.textView8_2, R.id.textView9_2, R.id.textView10_2, R.id.textView11_2, R.id.textView12_2, R.id.textView13_2, R.id.textView14_2, R.id.textView15_2}; 45 TextView textView1 = (TextView) findViewById(RidT1[i]); 46 TextView textView2 = (TextView) findViewById(RidT2[i]); 47 TextView textView = (TextView) findViewById(R.id.textView); 48 Button button = (Button) findViewById(RidB[i]); 49 Timer timer = new Timer(); 50 51 timer.timer(textView2,tableData.StopTime[i],tableData.Rote[i] , 25.0f); 52 textView1.setText("" + tableData.BusStopName[list[i]-1]); 53 bs = null; 54 textView.setVisibility(View.GONE); 55 button.setOnClickListener(this); 56 } 57 } 58 } 59 60 @Override 61 public void onClick(View v) { 62 byte button = 100; 63 switch (v.getId()) { 64 case R.id.button1: 65 button = 0; 66 break; 67 case R.id.button2: 68 button = 1; 69 break; 70 case R.id.button3: 71 button = 2; 72 break; 73 case R.id.button4: 74 button = 3; 75 break; 76 case R.id.button5: 77 button = 4; 78 break; 79 case R.id.button6: 80 button = 5; 81 break; 82 case R.id.button7: 83 button = 6; 84 break; 85 case R.id.button8: 86 button = 7; 87 break; 88 case R.id.button9: 89 button = 8; 90 break; 91 case R.id.button10: 92 button = 9; 93 break; 94 case R.id.button11: 95 button = 10; 96 break; 97 case R.id.button12: 98 button = 11; 99 break; 100 case R.id.button13: 101 button = 12; 102 break; 103 case R.id.button14: 104 button = 13; 105 break; 106 case R.id.button15: 107 button = 14; 108 break; 109 } 110 SharedPreferences data = getSharedPreferences("DataTimer", Context.MODE_PRIVATE);//timer.timer()の値渡し 111 SharedPreferences.Editor editor = data.edit(); 112 editor.putInt("TimerSave", button); 113 editor.apply(); 114 115 Intent intent = new Intent(); 116 intent.setClassName("timer.example.jp.timer", "timer.example.jp.timer.MainActivity"); 117 startActivity(intent); 118 } 119}

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

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

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

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

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

guest

回答1

0

・問題について
問題が起きた時に必要なものは「コード」と「ログ」です。ログの中にアウトオブメモリーが記述されてたらメモリを使いすぎているのでしょう。

・無駄な箇所について
idの配列はフィールドにすると可読性があがります。
idの名前はもう少し役割がわかった方がいいでしょう。
レイアウトファイルもまずい記述がありそうです。

投稿2015/12/26 13:18

yona

総合スコア18155

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問