首页 / JAVA / java-项目运行缓慢
java-项目运行缓慢
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-项目运行缓慢,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3819字,纯文字阅读大概需要6分钟。
内容图文
![java-项目运行缓慢](/upload/InfoBanner/zyjiaocheng/684/c330741e8d364cc1b9b999caa1e351e0.jpg)
我正在开发一个对Android Studio中的吉他和弦感兴趣的应用程序.有2个微调器选择和弦,并且有一个imageview在屏幕上显示和弦图.当用户选择和弦时,其图将出现在屏幕上并播放.不幸的是,它确实运行缓慢.我怎样才能使其更快?
这是Java类
public class Chords extends ActionBarActivity implements AdapterView.OnItemSelectedListener {
String[] notes = {"A", "B", "C","C#","D", "E", "F","F#", "G"};
String[] mode = {"m", "m7", "5", " ", "7M", "dim", "aug", "sus2"};
Spinner sp;
Spinner spinner2;
TextView textView;
TextView t;
TextView t2;
MediaPlayer mySound,mySound2,mySound3,mySound4,mySound5,mySound6,mySound7;
private static ImageView imgView;
int[] images = {R.drawable.aminor,R.drawable.eminor,R.drawable.a_major,R.drawable.cmajor,R.drawable.gmajor,R.drawable.dminor,R.drawable.bminor};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.chords_screen);
textView = (TextView) findViewById(R.id.textView);
sp = (Spinner) findViewById(R.id.spinner);
spinner2 = (Spinner) findViewById(R.id.spinner2);
t2=(TextView) findViewById(R.id.textView2);
//creating adapter
ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, notes);
ArrayAdapter<String> adapter_state2 = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mode);
//setting drop down list type
adapter_state.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
adapter_state2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//setting adapter to spinner
sp.setAdapter(adapter_state);
spinner2.setAdapter(adapter_state2);
//setting listener to spinner
sp.setOnItemSelectedListener(this);
spinner2.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
imgView = (ImageView) findViewById(R.id.imageView);
mySound = MediaPlayer.create(this, R.raw.am);
mySound2 = MediaPlayer.create(this, R.raw.em);
mySound3 = MediaPlayer.create(this, R.raw.amajor);
mySound4 = MediaPlayer.create(this, R.raw.cmajor);
mySound5 = MediaPlayer.create(this, R.raw.gmajor);
mySound6 = MediaPlayer.create(this, R.raw.dminor);
mySound7 = MediaPlayer.create(this, R.raw.bm);
if (sp.getSelectedItemPosition() == 0 && spinner2.getSelectedItemPosition() == 0) {
mySound.start();
imgView.setImageResource(images[0]);
}
if (sp.getSelectedItemPosition() == 0 && spinner2.getSelectedItemPosition() == 3) {
mySound3.start();
imgView.setImageResource(images[2]);
}
if (sp.getSelectedItemPosition() == 1 && spinner2.getSelectedItemPosition() == 0) {
mySound7.start();
imgView.setImageResource(images[6]);
}
if (sp.getSelectedItemPosition() == 2 && spinner2.getSelectedItemPosition() == 3) {
mySound4.start();
imgView.setImageResource(images[3]);
}
if (sp.getSelectedItemPosition() == 4 && spinner2.getSelectedItemPosition() == 0) {
mySound6.start();
imgView.setImageResource(images[5]);
}
if (sp.getSelectedItemPosition() == 5 && spinner2.getSelectedItemPosition() == 0) {
mySound2.start();
imgView.setImageResource(images[1]);
}
if (sp.getSelectedItemPosition() == 8 && spinner2.getSelectedItemPosition() == 3) {
mySound5.start();
imgView.setImageResource(images[4]);
}
}
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
}
解决方法:
mySound = MediaPlayer.create(this, R.raw.am);
mySound2 = MediaPlayer.create(this, R.raw.em);
mySound3 = MediaPlayer.create(this, R.raw.amajor);
mySound4 = MediaPlayer.create(this, R.raw.cmajor);
mySound5 = MediaPlayer.create(this, R.raw.gmajor);
mySound6 = MediaPlayer.create(this, R.raw.dminor);
mySound7 = MediaPlayer.create(this, R.raw.bm);
不要这样创建1个MediaPlayer. MediaPlayer是一个庞大的对象,创建其中的7个非常痛苦且缓慢.您甚至不应该在每次单击时都创建一个新的对象,而应该在oncreate中创建它,而应该在新的数据源集中创建它.
内容总结
以上是互联网集市为您收集整理的java-项目运行缓慢全部内容,希望文章能够帮你解决java-项目运行缓慢所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。