mieki256's diary



2006/04/27(木) [n年前の日記]

#1 [iappli] とうとう.jarが30Kbyteを超えてしまった

30Kbyte未満に収めないと。

一応配列をint[]→byte[]にしたら多少は減ってくれるみたい :

ではあるのだけど。その減り方が、単純に int → byte になるわけではないようで。どうにも規則性がわからない。

変数名を短くしたら減った。 :

そんな。

たしかこのへんは自動化するツールがあったはずだな…。

_アプリ開発メモ - 効果的な圧縮 :

_Jarg, 7zip による Jar ファイルサイズ削減

ツールが紹介されてる。JavaBlender、jarg、7zip とな。

_携帯Javaアプリ最適化 - Wiki :

私の調べたところ、フリーのソフトの組み合わせではproguard、JoGa?、7zipの組み合わせが最も小さくなります。

携帯Javaアプリ最適化 - Wiki より

ふむ。

_Java Blender :

Java Blender は i-appli のプログラムを圧縮するツールです。 i-appli にはコードサイズの制限があるため、 名前を 1 文字にしたり、クラスをできるだけ作らないようにして コードサイズを減らそうとしがちですが Java Blender を使うとそのような処理を自動的に行うことができます。 そのためプログラマは普通の Java と同じ感覚で i-appli のプログラムを書けるようになります。

Java Blender より

ありがたい。素晴らしい。

_jarg - Java Archive Grinder
jargはJavaクラスファイルが格納されているJARファイルのサイズを削減します。 「簡単にサイズ削減できること」が第1目標ですが、jargで処理した結果、 Javaクラスファイルは最適化されるのでより速くなりますし、改名されるのでより解析されにくくなります。 つまり、jargは、'Java Optimizer'であり、'Java Obfuscator'であり、'Java Shrinker'もしくは'Java Reducer'でもあります。

最後に、jargは、100% Pure Javaですし、オープンソースですし、無料でご利用いただけます。

jarg - Java Archive Grinder より

ありがたい。ありがたい。…ん? 0.9.14 が最新版らしいのだけど、 _SourceForge の該当ページ には 0.9.13 しかない。うーむ。…と思ったが、files を辿ったら、0.9.14 があった。

7zipとやらが必要らしいのだが、7za なるものがない。インストール済みのはずだったけど…。と思ったら、 _7zip - Download を見る限り、コマンドライン版を別途落としてこないといけないらしい。

容量削減できた。 :

結構減るな。30K未満に収まった。

が、.jam の AppClass が変な名前に書き換えられてしまう。eclipse で作業しようとしたら動かなくなっていて、ちとハマった。…あ、そうか。名前を短くしていくことで容量削減をしてるから、AppClass も変わってしまうのか。

ProGuard + JoGa を使ってみた。 :

_ProGuard
_JoGa

たしかにこっちのほうが減るような。かつ、AppClass を書き換えないような指定もできる。

下のような結果に。
種類結果(byte)
オリジナル33,131
JavaBlender28,681
JavaBlender → jarg → 7zip26,863
ProGuard → JoGa → 7zip25,069

_shortやbyteは容量が増えやすい :

shortやbyteは容量が増えやすいのです! なぜなら、型変換の命令が追加されるからです。

Appli-Style.com -容量削減 各種ツール- より

あ、なるほど…。別のところで増えちゃってるから、規則性が見出せないのだな。

#2 [prog] _バッチファイルの制御用コマンド

_%0〜%9 について

_Jarg, 7zip による Jar ファイルサイズ削減 で紹介されてるbatファイルの中に、
set TARGET_F=%~f1
set TARGET_P=%~p1
set TARGET_SP=%~sp1
set TARGET_N=%~n1
echo AppSize = %~z1 >> %TARGET_SP%%TARGET_N%.jam
という記述があって、これは何だろうと。ということで検索。
WindowsNT/2000/XPでは、次の拡張書式で必要な情報をパラメータ文字列から抽出できます。

バッチファイルの制御用コマンド より

なるほど。
%~1     引用句 (") があればそれを削除する
%~f1    完全修飾パス名を得る
%~d1    ドライブ文字を得る
%~p1    パス名だけを得る
%~n1    ファイル名だけを得る
%~x1    拡張子だけを得る
%~s1    短い名前を得る
%~a1    ファイルの属性を得る
%~t1    ファイルのタイムスタンプを得る
%~z1    ファイルサイズを得る
ということらしい。つまり、
set TARGET_F=%~f1 <--- 完全修飾パス名を得る
set TARGET_P=%~p1 <--- パス名だけを得る
set TARGET_SP=%~sp1 <--- 短い名前のパス名だけを得る 
set TARGET_N=%~n1 <--- ファイル名だけを得る
echo AppSize = %~z1 <--- ファイルサイズを得る
ということなのか。

rd って何だ? :

と思ったら、rmdir、ディレクトリ削除のコマンドなのか。

#3 [iappli] 実機で動いた

なんだか感動。

フォント表示がなんだか変だな…。太字が出ていない。エミュレータ上では表示されているんだけど。機種依存なのかしら。…みたいだ。STYLE_BOLD は端末によってサポートされない場合がある、と基本APIリファレンスに書いてあった。

createImage() で作成した Image に、透過部分を持たせるにはどうしたらいいのだらう。 :

APIリファレンスを眺めたり、検索してみたけれど、それらしい情報は見当たらず。

う。DoJa3.0では無理、という話を見かけた。DoJa 3.5 のオプションAPI(<オプションなので、機種によって持ってたり持ってなかったりする)であれば、TransparentImage なるものがあるらしいが、DoJa 3.0 の基本APIじゃ無理っぽい。

#4 [digital] 携帯ってすごいことになってるな

iアプリの一覧を眺めていたら、TVリモコンなるものがあった。試しに起動。…うわ。ホントにTVを操作できる。スゲー。赤外線通信機能がついてると、こんなこともできるのか。恐ろしいなぁ(?)。

#5 [cg_tools][web][linux] SVG の Mime-Type 問題

_SVG の Mime-Type (1)
_SVG の Mime-Type (2)

自分の日記で .svg を置いても Firefox で表示できないのはコレだった。

_ミケネコの htaccess リファレンス - MIME/ハンドラタイプ :

参考にして、 .htaccess に .svg 用を記述。
AddType image/svg+xml svg

#6 [zatta] アニメの質が落ちそうになったら時間を短くする

という案がコメント欄で出ていて、それができたら色々と助かりそうだなと。

と思ったが、TV放映という形態であるかぎり、それは難しいのだろうな。何せ時間を売ることで商売してる世界だし。

#7 [cg_tools] _BeatTheGIMP - 自作の GIMP plug-in を配布してるサイト

_もりあげ Plug-in とか、なんかかなり良さそうですよ! …でも linux 用なのか。

_たむぶん版 continuous-save - GIMP のレイヤーを各画像として保存 :

気になる。メモ。

アルファチャンネルつきのレイヤーについても保存できるのだろうか。たしかオリジナル版はゴミが入ったような。まあ、GIMP 側のバージョンアップで動作が変わってる可能性もあるのか。

この記事へのツッコミ

continuous-save by たむぶん    2007/02/23 00:00
作者です。全然更新してませんが。

たむぶん版の continuous-save は保存に関しては、いっちーさんオリジナルの部分
をそのまま使っています。

取り敢えず、gimp 2.2.13でちょっと確認したかぎりでは
pngで保存すればアルファチャンネルがあっても、正しく保存できてるみたいです。
Re: continuous-save by mieki256    2007/02/27 10:56
> gimp 2.2.13でちょっと確認したかぎりでは
> pngで保存すればアルファチャンネルがあっても、
> 正しく保存できてるみたいです。

わざわざありがとうございます。それは嬉しい話…

と思ったのですが、そちらのスクリプトで動作確認してみた限りでは
やはりゴミが入るようです…。
こちらの環境は、Windows版 GIMP 2.2.13 なのですが、
もしかするとそちらは Linux版だったりするのでしょうか?
だとすれば、Windows版と Linux版で動作が異なるのかもしれませんね…。
Re: continuous-save by たむぶん    2007/02/27 22:35
Windows版でしたか。そちらでは、全く調べてませんでした。
そのうち見てみます。

#8 [cg_tools][iappli] 最近、EDGE というドットエディタを多用してるのだけど

選択範囲を指定した状態で、テキスト情報として x,y,w,h をコピーできるのが便利で。しかし、ショートカットキーが割り当てられてないので、メニューを辿ってコピーしないといけない。かなり面倒。それでも、そういう機能のついてないグラフィックツールより、はるかに便利なのだけど。

複数の矩形・ドット単位の選択範囲を指定して、一覧でコピーできるようなツールはどこかにないものか。いや、コピーじゃなくてテキスト出力できれば…。特殊過ぎるよな。そういう機能って。

画像の配置もちと面倒。 :

BGの手前に、いくつか小さ目の画像を配置したいなと。が、どこに配置するか、幅や高さはどのくらいかの情報を、テキストとして取り出せないといけない。何かいいツールはないものか。…結局コレも、EDGE を利用してチクチクと一つずつ手作業で。

GIMP のレイヤー位置・サイズ情報を取得することができれば、レイヤーをガンガン作って配置したり等して作業できそうなのだけど。メニューの中 ―― スクリプトやプラグインのメニュー中にも、そういうものはナサゲ。内部で特殊な情報の持ち方をしてるのだろうか。レイヤーの境界があるんだから、情報としては持ってそうなんだけど。

別のツールを探す or 作ったほうが良さそうではあるけど。

#9 [game] _『スーパーマリオブラザーズ』のジャンプについてのメモ

コメント欄で教えてもらったのでメモ。動作サンプルがあって判りやすい。素晴らしいぜ、マリオ!

この記事へのツッコミ

Re: 『スーパーマリオブラザーズ』のジャンプについてのメモ by Re: 『スーパーマリオブラザーズ』のジャンプについてのメモ    2006/11/09 20:03
Re: 『スーパーマリオブラザーズ』のジャンプについてのメモ

以上、1 日分です。

過去ログ表示

Prev - 2006/04 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project