小编lea*_*lay的帖子

android恢复触发Phonegap/Cordova暂停事件; 因此无法关闭音频

我正在开发一个使用Phonegap Media插件播放音频的Phonegap应用程序.当我按下Android设备上的主页按钮或屏幕锁定按钮(KitKat 4.4)时,应用程序会进入后台,但音频不会因为暂停事件未被调用而关闭.只有当我恢复应用程序时才会运行暂停事件,并且我的关闭音频的代码最终会运行.简历事件也在此之后运行.

阅读关于暂停事件的Phonegap文档,有关于iOS Quirks的注释:

"在暂停处理程序中,对Cordova API或通过Objective-C的本机插件的任何调用都不起作用,以及任何交互式调用,例如警报或console.log().它们仅在应用程序恢复时处理,在下一个运行循环中."

这与我在Android设备上看到的非常相似,不过我想知道它是否是同一个问题.我真的需要修复或解决方法,因为当用户暂停应用程序时,这是一个无法关闭音频的showstopper.

这是我添加暂停事件监听器的代码:

document.addEventListener('deviceready', on_device_ready, false);
function on_device_ready()
{
    document.addEventListener('pause', on_pause, false);
    document.addEventListener('resume', on_resume, false);
}
Run Code Online (Sandbox Code Playgroud)

更新:我想我已经解决了,虽然我对解决方案不太满意.我已将Phonegap config.xml变量KeepRunning设置为false.我设置为true,现在它应该得到暂停事件.我觉得我应该能够阻止我的应用程序在后台运行,并且还可以预先运行一些暂停代码.

无论如何,这是我正在谈论的config.xml行:

<preference name="KeepRunning" value="true"/>
Run Code Online (Sandbox Code Playgroud)

javascript android cordova

18
推荐指数
1
解决办法
3302
查看次数

ThreeJS:更好的方法来创建和渲染单个树木的森林?

我试图在ThreeJS中渲染一个拥有100,000多个非常简单的树木的大森林.创建许多单独的网格当然是不可能的.我当前的方法使用GeometryUtils.merge创建一个大的几何体,减少了绘制调用的数量,这非常有效.但接近100k,它陷入困境.我需要进一步提高性能,我觉得可能还有另外一两个技巧可以将性能提高10倍或更多.

代码如下,我还创建了一个JSFiddle来演示我目前的技术:http://jsfiddle.net/RLtNL/

//tree geometry (two intersecting y-perpendicular triangles)
var triangle = new THREE.Shape();
triangle.moveTo(5, 0);
triangle.lineTo(0, 12);
triangle.lineTo(-5, 0);
triangle.lineTo(5, 0);
var tree_geometry1 = new THREE.ShapeGeometry(triangle);

var matrix = new THREE.Matrix4();
var tree_geometry2 = new THREE.ShapeGeometry(triangle);
tree_geometry2.applyMatrix(matrix.makeRotationY(Math.PI / 2));


//tree material
var basic_material = new THREE.MeshBasicMaterial({color: 0x14190f});
basic_material.color = new THREE.Color(0x14190f);
basic_material.side = THREE.DoubleSide;


//merge into giant geometry for max efficiency
var forest_geometry = new THREE.Geometry();
var dummy = new THREE.Mesh();
for (var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript three.js

5
推荐指数
1
解决办法
2648
查看次数

标签 统计

javascript ×2

android ×1

cordova ×1

three.js ×1