gpt4 book ai didi

Android:提高手机屏幕的响应速度?

转载 作者:行者123 更新时间:2023-11-29 22:14:41 25 4
gpt4 key购买 nike

有没有办法提高设备对特定应用程序的响应能力?具体来说,现在我的触摸事件肯定会触发,但它们会延迟几分之一秒。由于我的应用程序是一个音乐/节奏应用程序,任何延迟都是非常糟糕的。我只是想知道,如果我可以在 Manifest 中做些什么来提高响应能力。或者也许有一些使代码运行得更快的建议?我还必须在应用程序中创建多个线程来处理多点触控,也许有一种有效的方法可以做到这一点?

最好的,楝树

编辑:

public boolean onTouchEvent(final MotionEvent ev) {
if(ev.getAction()==ev.ACTION_DOWN||ev.getActionMasked()==ev.ACTION_POINTER_DOWN){
AudioManager mgr = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
PointF[] touchPoints = new PointF[ev.getPointerCount()];
for(int i = 0; i < ev.getPointerCount(); i++){
touchPoints[i] = new PointF(ev.getX(i),ev.getY(i));
}
for(final PointF point : touchPoints){
x = ev.getX(ev.getActionIndex());
y = ev.getY(ev.getActionIndex());
int ptx = (int) (x - x%widthIncrement);
int pty = (int) (y - y%heightIncrement);
playSound(pointMap.get(new Point(ptx,pty)));
}
return true;
}
return true;
}

public void playSound(int sound){
AudioManager mgr = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
database.play(sound, streamVolume, streamVolume, 1, 0, 1);
}

最佳答案

如果您的用户界面运行缓慢,则说明您在响应用户界面事件方面做了太多工作。如果你必须做任何重要的事情(加载声音文件等)来响应 UI 事件,那么你应该将这些工作打包到 AsyncTask 中。或其他类型的工作线程。然后,UI 响应方法应该只是启动线程来完成繁重的工作,更新 UI,然后返回。

文章Painless Threading有更多关于如何做这一切的细节。

关于Android:提高手机屏幕的响应速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8749931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com