我制作了一个Android应用程序,它有一个webview,可以从assets文件夹加载flash游戏。 Evertything正在工作,除非我离开游戏时声音一直在继续。我试着按下后退按钮完成活动,但它是一样的。
package com.example.flashgame;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends Activity {
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
mWebView.setBackgroundColor(Color.parseColor("#000000"));
mWebView.loadUrl("file:///android_asset/game.swf");
}
}
答案 0 :(得分:0)
问题在于,虽然您可能已调用finish()
,但垃圾收集器不一定会立即收集您的活动,这会导致您创建的对象(例如任何MediaPlayer
对象或类似物品)闲逛一段时间 - 包括你的WebView
。
问题通常是人们需要在你的flash游戏/音频对象上调用stop()
或类似的东西才能调用'finish()',这会导致他们实际停止而不是在系统等待中闲逛为他们收集垃圾。在您的情况下,您可能需要将null
网址加载到您的网络视图或类似内容中以阻止Flash游戏运行