Android Ouya-尺寸太大

Android Ouya-尺寸太大,android,ouya,Android,Ouya,我正在OUYA设备上测试我的视频播放器,它几乎立即崩溃,出现“维度太大”错误(见下面的logcat转储)。如果有人知道一种变通方法或设置最大维度的方法,我将不胜感激 D/MySurface(2651): surfaceCreated W/InputDispatcher(319): Attempted to unregister already unregistered input channel '41daf688 tv.ouya.console.wallpaper.OozeService (s

我正在OUYA设备上测试我的视频播放器,它几乎立即崩溃,出现“维度太大”错误(见下面的logcat转储)。如果有人知道一种变通方法或设置最大维度的方法,我将不胜感激

D/MySurface(2651): surfaceCreated W/InputDispatcher(319): Attempted to unregister already unregistered input channel '41daf688 tv.ouya.console.wallpaper.OozeService (server)' I/WindowState(319): WIN DEATH: Window{41daf688 tv.ouya.console.wallpaper.OozeService paused=false} I/WindowManager(319): WINDOW DIED Window{41daf688 tv.ouya.console.wallpaper.OozeService paused=false} E/SurfaceFlinger(109): dimensions too large 2560 x 1472 E/SurfaceFlinger(109): createNormalSurfaceLocked() failed (Invalid argument) W/WindowStateAnimator(319): OutOfResourcesException creating surface I/WindowManager(319): Out of memory for surface! Looking for leaks... W/WindowManager(319): No leaked surfaces; killing applicatons! W/ActivityManager(319): Killing processes Free memory at adjustment 0 W/ActivityManager(319): Killing ProcessRecord{41d9cae8 2651:example.android.player/u0a37} (adj 0): Free memory W/WindowManager(319): Looks like we have reclaimed some memory, clearing surface for retry. W/WindowManager(319): Due to memory failure, waiting a bit for next layout D/MySurface(2651):表面处理 W/InputDispatcher(319):试图注销已注销的输入频道“41daf688 tv.ouya.console.Wallper.OozeService(服务器)” I/WindowState(319):赢得死亡:Window{41daf688 tv.ouya.console.wallper.OozeService暂停=false} I/WindowManager(319):窗口死机窗口{41daf688 tv.ouya.console.wallper.OozeService paused=false} E/SurfaceFlinger(109):尺寸过大2560 x 1472 E/SurfaceFlinger(109):createNormalSurfaceLocked()失败(参数无效) W/WindowsStateAnimator(319):源外异常创建曲面 I/WindowManager(319):surface内存不足!寻找漏洞。。。 带WindowManager(319):无泄漏表面;杀死应用程序! W/ActivityManager(319):在调整0时终止进程释放内存 W/ActivityManager(319):清除进程记录{41d9cae8 2651:example.android.player/u0a37}(adj 0):释放内存 W/WindowManager(319):看起来我们已经回收了一些内存,为重试清理了表面。 W/WindowManager(319):由于内存故障,正在等待下一次布局
我也尝试过通过这篇文章更改分辨率,但没有成功:

我找到了一个解决方法,使用带有预设宽度和高度最大值的曲面回调:

@Override public void surfaceCreated(SurfaceHolder holder) { Rect rect = holder.getSurfaceFrame(); if (rect.width() > maxWidth || rect.height() > maxHeight) { holder.setFixedSize(maxWidth, maxHeight); } } @凌驾 已创建的公共空白表面(表面持有人){ Rect Rect=holder.getSurfaceFrame(); if(矩形宽度()>maxWidth | |矩形高度()>maxHeight){ 支架。设置固定尺寸(最大宽度、最大高度); } }