0

私の知る限り、WebView 内の swf と gif は、HTC Desire デバイスで動作しますが、Android では正式にサポートされていません。

私は、すべて WebView に基づいたアプリを構築しています。私がしたことは、「アプリ」をHTMLとしてコーディングし、それを「生」フォルダーに入れ、アプリが起動すると、すべてのhtmlと画像をSDのフォルダーに入れます(まだそこにない場合)。

ここで、いくつかのアニメーションを表示する必要があります。Actionscript で作ったので、動くようでよかったです (アニメーションはそれぞれ 25KB でした) が、しばらくして公開したところ、アニメーションが見られないという報告がありました。

次に、それらをGIFにパッチしました(メモリをそれぞれ400KB〜1MBに増やしました)。この時点で、raw フォルダーから GIF を取り出し、アプリの初回実行時に Web の 1 つのサーバーからダウンロードすることにしました。これにより、apk が大きくなりすぎないようにしました。しかし、人々はそれを見ることができないという苦情を再び受け取ります(その後、GIFもサポートされていないことがわかりました)

Google-ing と stackoverflow-ing 唯一の解決策は、これらの GIF を別々の画像に分割し、JavaScript で 1 つずつ表示してアニメーションを作成することであることがわかりました。この方法は、小さなアニメーション (こんにちはと言っている顔など) には問題ないと思いますが、アニメーション全体では.... アニメーションごとに約 3MB の重みがあります (swf が 25KB の場合...)。また、ユーザーのデータ クォータから 30MB (将来的には新しいアニメーションではさらに増える可能性があります) を使用するのは良くないと思います。

そう:

  1. 他の解決策はありますか?
  2. SWF をサポートしていない電話はたくさんありますか? そしてGIF?それらが多すぎない場合は、電話のメモリが少ない場合はアニメーションが機能しないというアプリの説明を付けることを検討します(アニメーションは私のアプリではあまり重要ではありません)

どうもありがとうございました、

ビクター

編集: 追加情報: アニメーションはこのようなものです。

4

1 に答える 1

0

だから... HTML5 キャンバス アニメーションを使用するしか方法がないことがわかりました。驚くことに、多くのデバイスでサポートされているからです。

アニメーションは GIF 互換デバイスほどスムーズではありませんが、誰でもアクセスできるようにしています。

CommonsWare は私の 2 番目の質問に答えましたが、私は最初の質問に答えます。はい、HTML5 を使用します。JS もオブジェクト指向にすることができ、構文は AS3 とかなり似ているため、大きな作業は必要ありませんでした。

そして最も良い点は、ベース コードの重量が 34 KB (エンジンとすべての画像を加えたものとしましょう) しかなく、各アニメーション (別のファイル内) の重量が 1 ~ 2 KB であることです。それはすばらしかったです。それらすべてを Android の raw フォルダーに入れることができます。

CommonsWare 様 コメントありがとうございます。

于 2012-10-22T21:51:10.710 に答える