java-项目运行缓慢

java-项目运行缓慢,第1张

概述我正在开发一个对AndroidStudio中的吉他和弦感兴趣的应用程序.有2个微调器选择和弦,并且有一个imageview在屏幕上显示和弦图.当用户选择和弦时,其图将出现在屏幕上并播放.不幸的是,它确实运行缓慢.我怎样才能使其更快?这是Java类publicclassChordsextendsActionBarActivity

我正在开发一个对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-项目运行缓慢所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1090930.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存