CLDC+MIDP+携帯電話用Javaスレッド part 8
- 223 :221:2008/05/06(火) 23:34:51
- >>222
レスありがとうございます。
警告文の意味がわからず少し悩んだのですが、
commandAction() ハンドラ(やキー/ペイントハンドラ等)でネットワーク(やローカルファイルシステム)を使用すると
デッドロックする可能性があります。
そういった操作は別のスレッドで稼動して、デッドロックする可能性を回避する必要があります。
という意味なのですね。
別スレッドに処理をわけたところ上手く行きました。
ありがとうございました。
- 224 :デフォルトの名無しさん:2008/05/18(日) 22:02:03
- 912SH向けの待ち受けS!アプリを作ろうとしてるのですが、ResidnetMIDIlet
を使おうとうると、セキュリティエラーがでて起動すらしてくれません。
Webを探し回っても解決策見つからず、どうすればいいのか教えてください。
エミュレータで実行すると、次のエラーが出ます。
java.lang.SecurityException: com.j_phone.midlet.ResidentMIDlet was denied
java.lang.SecurityException: com.j_phone.midlet.ResidentMIDlet was denied
at com.jblend.security.midp20.SecurityManagerImpl.checkPermission(+185)
at com.j_phone.midlet.ResidentMIDlet.<init>(+15)
at sample.OshiraseResidentMIDlet.<init>(+4)
at java.lang.Class.runCustomCode(+0)
at javax.microedition.midlet.MIDlet.createMIDletInstance(+22)
at javax.microedition.midlet.MIDlet.main(+105)
jadファイルには次を記述してます。
MIDxlet-API: MEXA
MIDxlet-Resident: S
MIDlet-Application-Security: Y
MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet,com.j-phone.system.DeviceControl.read
- 225 :デフォルトの名無しさん:2008/05/18(日) 22:22:38
- CLDCとかMIDPのバージョンをjadで指定してみれ
- 226 :デフォルトの名無しさん:2008/05/18(日) 22:51:03
- >225
Mnifestフィルにあった次の記述を、jadファイルにコピーしました。
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
あと、念のため次もjadファイルに追記しました。
MIDlet-OCL: JSCL-1.2.2
それでも、まったく同じエラーで起動できません。
ほかに何かないものでしょうか。
- 227 :デフォルトの名無しさん:2008/05/18(日) 23:34:34
- MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
上記2つはjadファイルには必要ない。あっても問題ないけど。
MIDP2.0では
×MIDlet-OCL: JSCL-1.2.2
〇MIDxlet-API: JSCL-1.2.2
- 228 :デフォルトの名無しさん:2008/05/19(月) 03:45:51
- >>227
へ?
- 229 :デフォルトの名無しさん:2008/05/19(月) 10:59:45
- MIMEじゃねえの
- 230 :デフォルトの名無しさん:2008/05/19(月) 19:40:02
- >>224
jadファイルには
MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet
MIDxlet-API: JSCL-1.2.2
MIDxlet-Resident: S
を追加する。
MEXAエミュレータのプロジェクト→端末設定→MEXAオプションのUnit1+Unit2の所にチェックを入れてるか?
アプリのインストール時にTrustedを選択しているか?
思いつくのはこれくらいなんだが…
- 231 :224:2008/05/19(月) 20:50:40
- みなさんのアドバイスをもとに試行錯誤して、なんとか待ち受けアプリを
エミュレータで起動することができました。
問題は、MIDlet-Permissions に「com.j-phone.system.DeviceControl.read」を
入れていたことでした。
MIDlet-Permissionsには、カンマ区切りで複数のセキュリティパスが書けると
思ってたのですが、ダメなのかも知れません。
とにかく、次のjadファイルで、待ち受けアプリ起動しました。
MIDxlet-API: MEXA
MIDxlet-Resident: S
MIDlet-Permissions: com.j_phone.midlet.ResidentMIDlet
※MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-Application-Security: Y
の3つは無くても軌道には至りました。
あと、>230 のアドバイスのように、インストール時には、trustedでインストール
する必要もありました。
とにかく解決しました。ありがとうございました。
- 232 :デフォルトの名無しさん:2008/05/20(火) 16:02:27
- すみません。
初心者です。教えてください。
S!アプリではBASE64って使えないんですか?
JavaDocの中に見つからなかったんですが・・・
- 233 :デフォルトの名無しさん:2008/05/20(火) 18:32:29
- sunのRI使ってればcom.sun.midp.io.Base64が使えないわけでもない
- 234 :デフォルトの名無しさん:2008/05/21(水) 12:03:39
- javax.microedition.lcdui.game.Layerのコンストラクタをパッケージプライベートからpublicに変えてほしいよね。
クラス自体はpublicなんだし。
独自のレイヤ機能を実装したい場合にはSpriteはいらない機能が多い。
- 235 :232:2008/05/21(水) 18:22:32
- >233
ありがとうございます。
BASE64のロジックを
JAVAでガリガリ書いてあるソースをひろってきて、
コピペすることで解決しますた。
- 236 :デフォルトの名無しさん:2008/05/21(水) 19:21:42
- まあbase64のエンコード・デコードくらい仕様に忠実に実装してもそんなサイズじゃないよ。
- 237 :デフォルトの名無しさん:2008/05/23(金) 21:53:20
- シャープのVGA機解像度上げるとオフスクリーンの取れるサイズが減るって
糞仕様どうにかなんねえのかなあ
- 238 :デフォルトの名無しさん:2008/05/24(土) 19:27:52
- RAMケチってるからどうにもならんだろ
- 239 :デフォルトの名無しさん:2008/05/27(火) 19:32:09
- 812SHでweb(http)からテキストを取得しようとしています。
エミュレータでは動作するのですが、実機で実行すると
java.lang.SecurityException: restricted url.
と出て接続できません。
jadは
MicroEdition-Profile: MIDP-2.0
MIDxlet-API: JSCL-1.2.2
MIDlet-Permissions: javax.microedition.io.Connector.http
MIDlet-Network: Y
MIDlet-Application-Security: Y
にしています。
googleで検索してみても同様の状況は見つからず困っています。
対処方法をご存じの方教えてください。
- 240 :デフォルトの名無しさん:2008/05/27(火) 20:06:08
- S!アプリのMIDP2.0対応端末編part6を見て思ったのですが、ファイルサポートの対応プレイヤーでPNGがMIDP2.0/JSR135に対応しておらず、MEXA/JSCLに対応している端末があります。
その端末ではImage.createImage()でPNG画像を生成できないと考えて、MEXA/JSCLのPngDataを利用すべきなんでしょうか?
- 241 :デフォルトの名無しさん:2008/05/29(木) 01:37:12
- すみません、初心者ですが教えてください
開発環境
jdk1.5.0_14
wtk2.5.2
V-appli_SDK_121
で、Vodafone向けのVアプリを作ろうとテスト用のソースを作って以下のようにビルドしたら
jarファイル作成時に次のようなエラーが出ました。
set CLASSPATH=C:\WTK2.5.2\lib\midpapi10.jar;C:\V-appli_SDK_121\lib\stubclasses.zip
javac -source 1.3 -target 1.3 -encoding SJIS -g:none -d tmpclass -bootclasspath %CLASSPATH% test.java
preverify -classpath %CLASSPATH% -d classes tmpclass
jar cvfm test.jar test.mf -C classes .
エラー
java.io.IOException: invalid header field name: ?>>>?MIDlet-Name ...
すみませんがこのエラーの原因と対処法がわかる方がいたら教えてください。
よろしくお願いします。
以下mfファイルの記述
MIDlet-Name: test
MIDlet-Version: 1.0.0
MIDlet-Data-Size: 10000
MIDlet-Application-Range: 0,0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
MIDlet-1: test,,test
- 242 :デフォルトの名無しさん:2008/05/29(木) 15:36:59
- >>241
>MIDlet-Name
ココ。どうせShiftJISでベタベタと書いたんだろう?
- 243 :デフォルトの名無しさん:2008/05/29(木) 19:16:52
- >>242
無事解決しました
ありがとうございます。
- 244 :デフォルトの名無しさん:2008/05/30(金) 16:15:41
- S!アプリについての質問なんだけど
- 245 :デフォルトの名無しさん:2008/05/30(金) 16:18:02
- >>244
ミスった
S!アプリについてなんだが
ブラウザ起動時のMIDlet-Versionは完全一致じゃなきゃ駄目なんだろうか?
具体的には
MIDlet-Version: 1.xとか2.xぐらいの大まかな分け方でアプリとHTMLを切り分けたい
- 246 :デフォルトの名無しさん:2008/05/31(土) 01:15:32
- 初歩的な質問ですみません。。。
pngの透過についてですが、以下のように32*32のマップチップを3つ横に並べた画像の読み込みです
for(i=0;i<3;i++){
image[i]=Image.createImage(32,32);
image[i].getGraphics().drawImage(imgPic,-32*(i%3),0,Graphics.LEFT|Graphics.TOP);
}
こんな感じのプログラムなんですが、表示させてみると透過に設定した部分が白く表示されてしまいます
おそらく32*32で準備した後にのっけてるからだと解釈していますが。。。
どなたか解決策をご教授していただけると助かります
- 247 :デフォルトの名無しさん:2008/05/31(土) 01:44:04
- >246
Image.createImage(32,32)によって素で白いImageが作られて、
そこに元が透過PNGであるimgPicというImageを描画したら、
透過部分に白が透けて見えるって状況だよね。
正常な動作じゃん。何を質問したいんだい?
- 248 :デフォルトの名無しさん:2008/05/31(土) 01:46:25
- 俺は透過なんて機種依存強そうで使った事無いけど
環境ぐらい書いてみたらどうだろう?
- 249 :246:2008/05/31(土) 02:21:43
- >>247
あ、かなり説明不足でした。。。
>>246のプログラムでいうとimage[2]に格納した画像(キャラ)に透過が設定されていて、
image[0](床)の上にキャラを表示させたいということです。。。
>>247
透過なしでRPGなどのキャラが動かせるのでしょうか…
まだエミュで実行させてるだけの段階ですが、
Vistaで、Wireless Toolkit 2.5.2 for CLDCを使っています
- 250 :デフォルトの名無しさん:2008/05/31(土) 03:39:48
- Graphicsがgだとすれば
for(i=0;i<3;i++){
g.drawImage(image[i],0,0,g.LEFT|g.TOP);
}
じゃないの?
- 251 :247:2008/05/31(土) 04:53:39
- >249=>246
>>>246のプログラムでいうとimage[2]に格納した画像(キャラ)に透過が設定されていて
残念だがそうはならん。
元が透過PNGのImage(ここではimgPicか)は、
他のImage(やCanvas)に描画する時点で透過が反映されるが、
描画されたImage(ここではimage[n])は透過情報を持っていない。
また、image[n]に対して「白を透過させろ」なんて設定するメソッドはない。
>249で思ってることをやるには、例えば、
image[0](床)に対して、imgPic上の目的の領域を直接描画する。
多分、こういうことを聞きたいんだよな?w
- 252 :246:2008/05/31(土) 13:15:48
- >>251
レスありがとうございます
やはりこの方法では透過は無理なようですね。。。
ググってみたら、画像の一部を表示するdrawRegion()というものがあるのですね
こいつを使って直接描画させてみようと思います
- 253 :デフォルトの名無しさん:2008/05/31(土) 15:22:06
- http://www.nicovideo.jp/watch/sm3488843
- 254 :デフォルトの名無しさん:2008/06/01(日) 13:27:33
- 作成済みのEZアプリを携帯に入れたいんですが
webにアップする以外の方法はありませんか
- 255 :デフォルトの名無しさん:2008/06/01(日) 14:51:52
- どこでもセーブ対応のjavaエミュレータがあればいいのに
- 256 :デフォルトの名無しさん:2008/06/01(日) 18:15:41
- StorageConnection sc = (StorageConnection)Connector.open(path);
OutputStream os = sc.openOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
として、書き込み処理を終えた後にすべてをclose()するものなのでしょうか?
それとも一つをclose()すればいいですか?
- 257 :デフォルトの名無しさん:2008/06/02(月) 06:59:43
- 不要ならば開放すると良い
- 258 :256:2008/06/02(月) 09:51:08
- レスどもです。
ためしにStorageConnectionだけ開放しても、SDカードのアイコンの点滅が止まりませんでした。
やはり不要になったら開放しなくては駄目ですね。
- 259 :デフォルトの名無しさん:2008/06/02(月) 23:10:05
- 携帯javaならStringオブジェクトだろうと使い終わったら
nullでも代入して初期化してやるのが良いかもしんないよ
- 260 :デフォルトの名無しさん:2008/06/02(月) 23:59:44
- レコードストアの内容ってMIDlet削除したら消えるんですよね
アプリをダウンロードし直してもハイスコアとか保持できないですか?
- 261 :デフォルトの名無しさん:2008/06/03(火) 13:49:49
- >>260
アプリがマスター、RSがスレーブ
と考えればそんな質問は出てこない筈
web鯖とかSDとか外に出しな
- 262 :デフォルトの名無しさん:2008/06/03(火) 18:45:42
- Other documentsあたりに置きっぱにしとくとマズいんだっけ?
- 263 :デフォルトの名無しさん:2008/06/05(木) 01:10:46
- 東芝・;(`ε()゙
- 264 :デフォルトの名無しさん:2008/06/05(木) 01:41:26
- 大きな画像をループでスクロールさせたい場合は分割したほうがいいですか?
クリッピングがまともな実装であれば、そのまま画像を並べて描画したほうが速い
と思いますが、特定の機種で遅くなったりしないでしょうか
- 265 :デフォルトの名無しさん:2008/06/05(木) 01:55:37
- >>264
機種別の仕様が書いてあるpdfに高速で描画可能なImageの最大サイズが書いてあるよ
それ参考にして最適な画像サイズを割り出せば
- 266 :デフォルトの名無しさん:2008/06/06(金) 01:30:28
- >>265
>>264じゃ無いけど、そんな細かい仕様まで公表してるメーカーってあるの?
それともそのpdfは一般人には見れない代物?
- 267 :デフォルトの名無しさん:2008/06/06(金) 05:05:06
- >264-266
まずソフバン端末なのかau端末なのか明確にしてから話そうや
- 268 :デフォルトの名無しさん:2008/06/06(金) 19:36:55
- ユーザシェアからして分けた方がよくないかそろそろ
- 269 :デフォルトの名無しさん:2008/06/06(金) 19:46:21
- >>268
プログラマのシェアで考えるべきだろう。
- 270 :デフォルトの名無しさん:2008/06/06(金) 21:14:49
- スレを分けると不便になりそう。
ソフバンもauもウィルコムも、CLDC+MIDP(+キャリア拡張)という形には変わりないから、
共通で参考になる情報が分散したり、逆に同じ質問があっちでもこっちでも…というのはうまくない。
質問者も回答者も、キャリア依存・機種依存の問題だなと思ったら、
そこをまず確認するように気をつければ、このスレ1本で問題ないと思う。
例えば>264には「ソフバン?」「例えばどの機種?」とか一言投げてやればいいし。
- 271 :デフォルトの名無しさん:2008/06/06(金) 22:48:04
- そもそも日本がMIDPで統一されてないのは問題だな
- 272 :デフォルトの名無しさん:2008/06/07(土) 01:11:06
- このスレには開発環境もろくに書かずに
皆が自分の思考を共有しているかの様な前提で
質問する人が多いから
次のテンプレには書き込みには対象のキャリアを
明示するよう一言付け加えてはどうだろう
- 273 :デフォルトの名無しさん:2008/06/07(土) 23:39:51
- SBなのですが、大きいデータなどを読み込む時に
「ローディング中」みたくアニメーションさせる方法って具体的にどうやっているんでしょうか?
昔からゲーム作りでずっと疑問になっていてでそういうことをしているサンプルコードも見たことなかったものですから
お願いします
- 274 :デフォルトの名無しさん:2008/06/07(土) 23:44:53
- >>273
スレ違い
- 275 :デフォルトの名無しさん:2008/06/07(土) 23:46:40
- >>273
データを読み込むスレッドと「ローディング中」をアニメーションさせるスレッドの二つを用意すれば?
- 276 :デフォルトの名無しさん:2008/06/08(日) 01:57:21
- >273
このスレで、ダウンロード中のプログレスバーの表示はどうやるかって話が
何度か出たから過去ログ探して読んでみれ。それで答えになる。
- 277 :デフォルトの名無しさん:2008/06/08(日) 03:11:04
- >>275
昔の端末でそれやると、アニメの方コマ送りになって使い物にならなかったが
今のはそんなにきれいに動く?
- 278 :デフォルトの名無しさん:2008/06/08(日) 03:34:03
- >>277
ローディングを示すアニメーションを滑らかにする必然性ってあるの?
アプリが止まっているわけじゃないとユーザーに認識させられればOKだろ
- 279 :デフォルトの名無しさん:2008/06/08(日) 06:32:50
- 滑らかに動くならそのほうがいいだろ。
>>278のUIは、悪くはないけど良くもないって感じのものなんだろうな。
- 280 :デフォルトの名無しさん:2008/06/08(日) 08:54:07
- 簡単にやるなら、絵を100枚読む場合、1枚読むごとにアニメを更新するって手もあるな。
ちょっとカクカクするけど、そこがまた「読み込んでるって感じ」が出る
- 281 :デフォルトの名無しさん:2008/06/08(日) 18:18:30
- プログレスバー更新時はローディング処理をスリープさせるってのはどうだろう
ローディング自体遅くなるだろうけど綺麗にアニメーションするはず
あと、バーは画像よりdrawLineの方が軽そう
- 282 :デフォルトの名無しさん:2008/06/08(日) 19:55:23
- ひどい話だ
- 283 :デフォルトの名無しさん:2008/06/08(日) 22:44:26
- 本末転倒
- 284 :デフォルトの名無しさん:2008/06/08(日) 22:45:42
- なにか前にも見た流れが・・
- 285 :デフォルトの名無しさん:2008/06/09(月) 04:29:24
- >>282-283
携帯程度の処理能力に無理して複数スレッド同時処理させるよか
プログレスバー描画の更新の束の間の間だけロード処理を止めた方が
効率が良い場合も往々にしてあるのだよ
- 286 :デフォルトの名無しさん:2008/06/09(月) 15:43:29
- >>285
そもそもプリエンプティブにスレッド処理されてねーから、描画スレッドの駆動中だけ
転送スレッド止めても意味ねーのよ。 >>280の方が余程綺麗に動く。
もっとそれらしく見せるなら、各段階の初期化の所要時間を実測してバーの進捗に
反映させる。 機種毎にイメージが遅かったりサウンドが遅かったりするから、
デフォルト値固定でなく、学習するようにすれば尚可。
- 287 :デフォルトの名無しさん:2008/06/09(月) 16:19:13
- 278 のように要点押さえて設計した方がよいと思うがね
- 288 :デフォルトの名無しさん:2008/06/09(月) 19:56:38
- ローディング画面が滑らかだとしても、ほとんどの人はろくに見ていないという、、、
- 289 :デフォルトの名無しさん:2008/06/09(月) 20:11:56
- フリーズしていないことさえわかればいいものだからな
- 290 :デフォルトの名無しさん:2008/06/09(月) 22:56:28
- ローディングの話でここまで盛り上がるとは・;(`ε()゙
- 291 :デフォルトの名無しさん:2008/06/10(火) 00:11:00
- ていうか前にも同じ流れがあったっちゅーねん・;(`ε()゙
- 292 :デフォルトの名無しさん:2008/06/10(火) 06:45:03
- だったらそれを貼れば良かっただろアホか・;(`ε()゙
- 293 :デフォルトの名無しさん:2008/06/10(火) 19:16:33
- バーじゃなくてアニメgif置いとけばいいじゃんwwwwwwwwwwwwwwwwwww
- 294 :デフォルトの名無しさん:2008/06/10(火) 23:26:52
- >>293
お!その手があったか。
お前超馬鹿じゃね?
- 295 :デフォルトの名無しさん:2008/06/10(火) 23:38:55
- 別にシステムじゃない分けて正確な進捗を描画する必要もないし
オペレーティング システムでもどころかそまそも未来のことを"
正確"に把握するなんて不可能な訳で、適当な落とし所で
割りきれば良い話だよな
読み込み処理を分割して、処理済み/分割数で1/分割数読み込む毎に
描画を更新するのがセオリーじゃね?
別にバーは時間に対しての割合である必要もないし、
読み込んだ数に対する割合なら嘘にもならんし、
滑らかにする必要もないし、
読み込み単位でAPIでブロックされるから求める制度にも限界あるし、
フリーズしてない事と待時間の目安が提供出来れば十分だし。
- 296 :デフォルトの名無しさん:2008/06/11(水) 01:00:40
- 裏で先読みロードを繰り返す某RPGの様な
待ち時間無しのシステムを作れば良い
携帯の処理能力と300k制限の中でな・;(`ε()゙
- 297 :デフォルトの名無しさん:2008/06/11(水) 06:15:29
- >>295
リアル鬼ごっこ並みの日本語だが最後の二行は理解した。
- 298 :295:2008/06/11(水) 08:08:02
- >>297
リアルリアル鬼ごっこですまそ
- 299 :デフォルトの名無しさん:2008/06/12(木) 01:18:00
- >鬼ごっごサンプル(実機では動作確認してません)
ttp://nicosb.orz.hm/sample/MobileApplication2.zip
>>295じゃないけど、作ってみた。
改造すれば進捗バーの表示もできるハズ
>使ってる画像
ttp://nicosb.orz.hm/sample/sample.zip
- 300 :デフォルトの名無しさん:2008/06/13(金) 14:03:58
- >>296
携帯の処理能力よりも、300k制限よりもヒープが足んねえので却下
- 301 :デフォルトの名無しさん:2008/06/13(金) 14:11:45
- win mobile機でJBlend積んでたら余裕だな。
レジストリいじればヒープ9Mまで使える。
- 302 :デフォルトの名無しさん:2008/06/13(金) 18:16:53
- >>296
それドラクエだったっけ?
WiiやX箱とかだとLoading画面に制約があるとか聞いたな。
3秒以内に画面の一部を更新しろとか。
- 303 :デフォルトの名無しさん:2008/06/13(金) 22:55:43
- でもそんなの関係ねえ!でもそんなの関係ねえ!
おっぱっぴー・;(`ε()゙
- 304 :デフォルトの名無しさん:2008/06/14(土) 00:06:55
- WiiとかX箱みたいなコンシュマー機はハードの応答速度にバラつきがほとんどない
(かまたは一定にできる仕組みがある)からいくらでも対応できるのよ・;(`ε()゙
- 305 :デフォルトの名無しさん:2008/06/14(土) 02:10:30
- >>302
多分違うよ
>>296が言ってるのはM$のダンジョンシージに違いない
あのゲームは例えマルチプレイ時でも、
ゲーム起動時以外はロードが存在しない
- 306 :デフォルトの名無しさん:2008/06/14(土) 08:08:25
- 別にFF7だってドラクエ7だって先読み満載じゃねーか
- 307 :デフォルトの名無しさん:2008/06/14(土) 17:12:12
- ローディングが画面として存在するかしないかの話だろ
流れ読めよ・;(`ε()゙
- 308 :デフォルトの名無しさん:2008/06/14(土) 18:42:40
- >>306 は先の先。いわゆる400レス目あたりの話をしているんだよ
- 309 :デフォルトの名無しさん:2008/06/15(日) 05:47:44
- 自作javaアプレットのオープンアプリへの移植を考えてるんだけど
floatとかの実数型を使いまくってる状況です
やっぱ重いだろうか?
float多用したACT/STGの類の開発経験が有る方、
体感速度とかどんな感じでした?
- 310 :デフォルトの名無しさん:2008/06/15(日) 13:00:08
- そんなもん気にすんな。
- 311 :デフォルトの名無しさん:2008/06/15(日) 14:16:48
- 突然ですが質問させてください。。。
キーイベントについてです。
keyPressdメソッドと、keyRepeatedメソッドの処理を全く同じにしたところ、
キーを押しっぱなしにしたときのキャラの移動が、押した瞬間に動いたあと、一呼吸おいて移動します。。。
「→、、→→→→→」
イメージとしてはこんな感じでしょうか。。。
この移動を滑らかにするには、どういう方法で対処できるのでしょうか。。。
- 312 :デフォルトの名無しさん:2008/06/15(日) 14:22:06
- >>311
GameCanvas使ってる?
- 313 :デフォルトの名無しさん:2008/06/15(日) 14:35:48
- >309
1フレーム描画に何千回も計算するような箇所は固定小数点に置き換えたほうがいい。
ベクトルの正規化を多用する場合もsqrtの逆数は自作すべき。
float精度のニュートンラプソン法の初期値を一発で求めるトリッキーな方法がある。
- 314 :デフォルトの名無しさん:2008/06/15(日) 14:45:01
- >>312
いえ、使ってないと思います。。。
なにせjavaを始めたばかりで無知なもので。。。
いろいろとググってみて、分からなかったらまた質問させていただきます。
即レスサンクスでした。
- 315 :デフォルトの名無しさん:2008/06/15(日) 16:24:46
- >>311
keyRepeaedの意味はわかってるかな?
押しっぱなしにされたとき、一定間隔で呼ばれるものだ。
2chに書き込む時、キーボードのキーを押しっぱなしにすると
「あ、、あああああああああ」
って感じになるだろ?
同じもんだ。
keyPressedで押されたというフラグを立て、keyReleased(Repeatedにあらず)でフラグを解除。
という処理だけつくり、実際にキャラを動かすのはゲームスレッドで行なう。
ゲームスレッドでは、時間で定期的に処理を進める
- 316 :デフォルトの名無しさん:2008/06/15(日) 16:49:28
- GameCancas#getKeyStates を使うのが楽だと思う
ゲームキーしか取得できないが。
Softbank専用で数字キーとかの状態を調べたかったらDeviceControl使えばいい。
- 317 :デフォルトの名無しさん:2008/06/15(日) 21:46:03
- DeviceControlってソフトキーも取得できるけど、端末によって左右が違ったりするの?
- 318 :309:2008/06/16(月) 01:05:48
- >>313
やっぱ置き換えた方がいいよね
実機である程度の体感速度が得られれば良いんだけど
もう面倒くさいから実数型のままで移植してみる
- 319 :デフォルトの名無しさん:2008/06/16(月) 21:37:14
- オープンアプリ対応機って今のところ速度差無さそうだしな
ソフバンも3Gになってからは、解像度差による描画レート以外そんな変わんないよな?
海外だとMIDP2.0/CLDC1.1でも凄いスペックのがある
画面128x96とかヒープが512kとか、そんなんに実数演算させんなw
- 320 :デフォルトの名無しさん:2008/06/16(月) 21:40:32
- >>319
つまり何が言いたいんだ?
- 321 :デフォルトの名無しさん:2008/06/16(月) 23:01:01
- 機種ごとに差がないんだから、とりあえず実数で組んでみて速度確かめたらいんじゃね?
2行目以降は、「ところでよ」って話で確かに分からんな。すまん
- 322 :デフォルトの名無しさん:2008/06/17(火) 17:05:22
- SoftBankでタッチパネル対応機種の一覧ってありますか?
独自APIじゃなくてpointerPressed()とかで座標を拾えるんでしょうか
- 323 :デフォルトの名無しさん:2008/06/17(火) 18:15:39
- StorageConnectionを使用してネットワーク経由で
取得したjarファイルを端末に保存してアプリ内でリソースとして
展開するアプリを考えているのですが、jarファイル内のリソースの
暗号化などを施したほうが良いのでしょうか?
ちなみにjarは、んぱか氏のファイル結合ツールを使用してtxtや
jpgなどをjarでまとめようと思っております。
■ファイル結合ツール
ttp://www.saturn.dti.ne.jp/~npaka/kvm/midp2/InflateEx/index.html
- 324 :デフォルトの名無しさん:2008/06/17(火) 18:31:28
- ヒープが足らないって落ちじゃないだろうな?
- 325 :デフォルトの名無しさん:2008/06/17(火) 19:12:53
- すみませんが、エミュだと試せないので、
FEPControlについて教えて下さい。
初期表示される文字列を、
クリアキーで全て削除して、
さらにクリアキーを押した場合は、
getInputText()から何が戻ってくるのでしょうか?
String str = "テスト";
FEPControl fc = FEPControl.getDefaultFEPControl();
str = fc.getInputText(str,TextField.ANY,100,false);
- 326 :デフォルトの名無しさん:2008/06/17(火) 21:49:01
- >>322
SoftBankでタッチパネル対応機種なんてなかったと思うけど・・・(Xシリーズ除く)。
Vodaの時代にも無かった気がする。
Jの時代にはパイオニアが出してた気がする。
うん。適当でごめん。
- 327 :311:2008/06/17(火) 23:40:26
- >>315
亀ですいません。。。
なるほど、そういう方法があるんですね!
キーが押されて離されてなかったら、押しっぱなしということですか
ありがとうございました!
- 328 :デフォルトの名無しさん:2008/06/18(水) 00:34:48
- エミュと実機ではキーの反応・動作が大分違う場合があるから気をつけるんだ
- 329 :デフォルトの名無しさん:2008/06/18(水) 02:16:55
- >>325
P5,P6で、null がかえってきた記憶がある。
はじめっから null が来ても "" が来てもおkなように作っときゃ問題ないけどね。
- 330 :325:2008/06/18(水) 13:01:34
- >>329
レスありがとうございます。
""とnullの処理を入れて、3Gの実機を持っている人に試してもらったところ、
端末によって挙動が違うようでした。
・初期表示の文字が全部消えると、クリアキーは無効。文字入力処理は続行してます。
・クリアキーでFEPの入力画面が消え、getInputText()から戻って来ない。文字入力も出来ない。
2番目はハング状態のようです。getInputText()の引数で回避できるのでしょうか?orz
- 331 :325:2008/06/18(水) 14:05:08
- 自己レスです、解決しました。
getInputText()で、クリアキーを押下した際に、
RuntimeException が発生する事が分かりました。
これを、catchしてなかったのが原因のようです。
お騒がせしました。
- 332 :デフォルトの名無しさん:2008/06/18(水) 21:17:22
- >325 解決してるようだけど、自分が知ってることを書いてみる。
P5のアプリを作ってた頃の調査結果。
FEP起動後、編集操作中にユーザーが[取消]を押すと
「編集内容を取り消すか? YES/NO」のダイアログが出る。
そこでYES(編集取消)を押すとFEPは例外エラーを発生して終了する。
クリアキー押下でも何でも、とにかく編集を中断したら例外エラーが出る。
従ってFEP起動処理はtry-catchでくくるようにする。
ついでに、編集確定でFEP終了したのか、キャンセル操作で終了したのか、
フラグを立てておくとその後の処理で役に立つかも。
- 333 :325:2008/06/19(木) 18:39:37
- >>332
javadocの getInputText()には、
IllegalArgumentException の記述しかなくて、
RuntimeException が発生していたとは、なかなか気が付きませんでした。
検索しても情報が少なく orz
>とにかく編集を中断したら例外エラーが出る。
>フラグを立てておくとその後の処理で役に立つかも。
との事なので、FEP起動処理はtry-catchでくくり、
キャンセルされたら、元の文字列に戻すようにしました。
どうもありがとうございました。
- 334 :デフォルトの名無しさん:2008/06/19(木) 19:48:57
- >>323
スクラッチパッドに保存するだけなら取り出せるわけじゃないから暗号化はいらんが
スマートメディアのOtherDocumetあたりの外から見えるところに見られたくない物を置くなら
暗号化が必要だな。
ただ、Storageとio両方にアクセスできるように設計すると、素人アプリはコンテンツアグリゲータに
上げる時にハネられると思うぞ。
ttp://ac-admin.appget.com/open_kiyaku.htm#siyoukinnsi
- 335 :323:2008/06/20(金) 02:55:19
- >>334
やはりOtherDocumetだと暗号化は必須でしたか。
リソースの取得方法を再度検討してみます。
ご返答ありがとうございました。
- 336 :デフォルトの名無しさん:2008/06/20(金) 09:29:38
- Dojaの話で悪いが、某◯貝獸物語のリソースがSD-BindingでJARだったから、普通に解凍して取り出しが出来た。SD-Bindingはピュア バイナリぽいね。
必要があれば暗号化かければ良いけど、単純なジャミングならInputStreamとOutputStream辺りを継承して、上位と下位の4bitを入れ換えて取り扱うStreamクラスを作るのが楽なんじゃないかな。
- 337 :デフォルトの名無しさん:2008/06/22(日) 00:13:25
- Dojaなら専用スレあるだろ....
- 338 :デフォルトの名無しさん:2008/06/22(日) 00:45:05
- >>337
上の話は余談で下の話が実際言いたかったことじゃないの?
- 339 :デフォルトの名無しさん:2008/06/22(日) 01:23:47
- >>336
EncryptionAttributeを立ててないだけ。
単に忘れたか、それとも速度が厳しかったかのどちらか。
>>335
んぱかに暗号化のサンプルが載ってるな。
ttp://www.saturn.dti.ne.jp/~npaka/kvm/midp2/CryptoEx/index.html
- 340 :デフォルトの名無しさん:2008/06/24(火) 00:50:26
- Sアプリのレコードストアが3Mにアップしたね
- 341 :デフォルトの名無しさん:2008/06/24(火) 00:55:50
- それに引き換え32kbの
- 342 :デフォルトの名無しさん:2008/06/24(火) 23:27:45
- ソフトバンクの動向とか見てると
自由度の極端に低いauの糞仕様も
新OSの普及と共に緩和されそうだね
- 343 :デフォルトの名無しさん:2008/06/25(水) 00:28:23
- OS?
- 344 :デフォルトの名無しさん:2008/06/25(水) 01:50:46
- >>342
詳しく
- 345 :デフォルトの名無しさん:2008/06/26(木) 00:24:04
- 国内でも流行り出したWindowsMobileとか
新OSのAndroidの事を指してるんでしょ多分
どっちもjava動くし実現度・自由度だって高いはず
- 346 :デフォルトの名無しさん:2008/06/26(木) 01:10:15
- Androidでjavaが動くって表現はなんか違う希ガス。
Androidは新らしく出現したjava環境でJavaMEのリソースは
殆ど流用できないんじゃまいか(外部apiに殆ど依存していな
い抽象ライブラリとかを除いて)
ttp://blogs.sun.com/hinkmond/entry/later_than_the_last_attendee
↑このブログ主JavaMEの伝道師らしいがAndroidには攻撃的だ。
- 347 :デフォルトの名無しさん:2008/06/26(木) 17:58:40
- AndroidはOSじゃないし
、WMはスマートフォンが主だから活躍の場が違うと思う
普通に住み分けがされるだけじゃないかな
- 348 :デフォルトの名無しさん:2008/06/26(木) 18:11:28
- Androidは開発環境がJava SE5.0+αだからME関係ないな。
スマートフォンにはCLDC+MIDPじゃなくてCDC+PP積んでほしい。できればAGUIも欲しいが。
- 349 :デフォルトの名無しさん:2008/06/26(木) 22:56:38
- Java SEのライブラリは使えないよ
開発環境やコンパイラを流用して最後に実行コードをDalvik用に変換するだけ
ずるいと言えばずるい
- 350 :デフォルトの名無しさん:2008/06/26(木) 23:10:51
- 質問があるんですが…
WTKのfillTriangle()はJavaSEのawtと同じ仕様なんですが
MEXAエミュレータでは右下方向に1pixel拡大されるようです
手持ちの実機でも同様でした
これはSoftBank共通仕様と考えていいんでしょうか?
- 351 :350:2008/06/27(金) 02:22:50
- すみません。自己解決しました
WTKのエミュレータでは隣接する三角形のエッジを共有せず、MEXAは共有する仕様のようで
どちらもMIDPの実装としては有りのようです
両方に対応するため、起動時にテスト描画してエッジの色を調べることにしました
- 352 :デフォルトの名無しさん:2008/06/27(金) 05:15:26
- アプリゲットが2G対応を2007年10月末に終了させていたことに、
今更ながら気づいたぜ。
これって、
もはや一般クリエータは2G端末(P4,P5,P6)向け配信を
(既存アプリ含め)一切できないってことだよね?
- 353 :デフォルトの名無しさん:2008/06/27(金) 12:33:13
- >>352
他は?
http://developers.softbankmobile.co.jp/dp/tech_svc/java/appli.php
- 354 :352:2008/06/28(土) 02:38:17
- アプリLiveもとっくに終わってるものだと思ってたけど、
一応ゲームチャンネルとしてまだ残ってたのね、、thx
- 355 :デフォルトの名無しさん:2008/06/28(土) 18:59:46
- 最近DocomoのAPIを分けるやり方が一番賢い気がしてきた
無駄に制限だらけのauとSoftbankなんて潰れてしまえ・;(`ε()゙
- 356 :デフォルトの名無しさん:2008/06/28(土) 20:50:14
- 海外MIDP端末とwillcomは自由だぞ
- 357 :デフォルトの名無しさん:2008/06/30(月) 20:51:44
- S!アプリを作っているのですが、703SHにてOutOfErrorが出てしまいます。
OutOfErrorなのでリソースを削るのが定石だと思うのですが、
実機でRuntime#freeMemory()とRuntime#totalMemory()を使ってメモリ状況をモニタリングしていると、
突然freeMemory()が増える(使用メモリが減る)タイミングがあります。
起動時に大きくリソースを読み込み、4MBのヒープの3.7MB前後をしばらく推移し、
その状態でリソースを読み替えの場面を行き来するとOutOfErrorが起きやすいのですが、
freeMemory()が増えたあとは2Mあたりを推移し、上記場面でのOutOfErrorは今現在発生していません。
freeMemory()が増えるタイミングまちまちで、大きくリソースを読み込んだ後1・2分程放置することで基本的になります。
この時に起きているであろう解放を明示的に起こす方法はありますでしょうか?
読み込み時は1ファイル毎にSystem.gc()を読んでおりますが、効果はありませんでした。
MEXA Emulator及び905SHでは、大きくリソースを読み込んだ後から既に2Mあたりを推移すると言う状況です。
何かご存知でありましたらご教授をお願い致します。
- 358 :357:2008/06/30(月) 21:01:04
- MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1
MIDxlet-API: JSCL-1.2.2
を対象に開発を行っています。
他不足情報があるかもしれませんが、恐れ入りますがよろしくお願い致します。
- 359 :デフォルトの名無しさん:2008/06/30(月) 21:45:58
- GCの実装の問題だからどうしようもないと思うんだけど。
リソースのサイズ減らすしかないんじゃない?
- 360 :デフォルトの名無しさん:2008/06/30(月) 22:39:31
- んだね
あとは自分の実装を見直してみること
gc呼んでも全く効果なしなら別に原因があるとも考えられる
- 361 :デフォルトの名無しさん:2008/07/01(火) 19:58:59
- 1ファイル毎など生ぬるい。毎フレームだ。
- 362 :デフォルトの名無しさん:2008/07/01(火) 23:29:12
- そんなことしてもだいたいキューに溜められるだけなんだが
- 363 :デフォルトの名無しさん:2008/07/02(水) 01:16:07
- 何作ってるか知らんが一度に数メガ単位のリソース読むなんて非常識
- 364 :デフォルトの名無しさん:2008/07/04(金) 18:08:24
- 待ち受けとかノベル系のアプリ作っててふと思ったのですが、長時間キー操作がないとアプリの処理速度って遅くなりません?
で、関係ないキーとか押してみるとまた速度が元に戻る…の繰り返し。
これを解決するには一定時間ごとにアプリ側に制御を渡すような処理が必要なんでしょうか?
- 365 :デフォルトの名無しさん:2008/07/04(金) 18:52:38
- 電池馬鹿食いの待ち受けになりそうだなw
- 366 :デフォルトの名無しさん:2008/07/04(金) 18:58:05
- ノベルゲームってキー待ちじゃないの
入力がない間に処理が遅くなるってわかるの?
- 367 :デフォルトの名無しさん:2008/07/04(金) 20:06:12
- >>366
キャラがアニメーションしてるとかじゃねーの?
- 368 :デフォルトの名無しさん:2008/07/05(土) 03:09:14
- 携帯電話の本質から考えると当然の仕様じゃないかと思う
参考までに現行の一般的な携帯の初期設定だと、
数十秒操作がないとバックライトも消えて低電力モードに移る
しかし勝手アプリでその辺りの制御をできるとは考えにくい
素人に電池馬鹿食いアプリ作られて困るのは各キャリアだからね
- 369 :デフォルトの名無しさん:2008/07/05(土) 03:52:47
- ?
バックライトの制御くらい普通にできるんじゃないの?
- 370 :デフォルトの名無しさん:2008/07/05(土) 14:21:04
- 実装はどうあれ、10ms以上ならsleep()入れてくれさえすりゃいいんだが
なんでループぶん回すかな、みんな…
- 371 :デフォルトの名無しさん:2008/07/05(土) 15:12:59
- >>369
バックライトやバイブの制御などは簡単に出来るのですが、それでアプリ側に処理を移したつもりでも、描画速度がガタ落ちしてるんですよね。
ループで延々と描画を続けるアプリはみんなこんな感じなのかな…
- 372 :デフォルトの名無しさん:2008/07/05(土) 15:36:58
- >>371
繰り返す処理の内容にもよるから一概には言えない
- 373 :デフォルトの名無しさん:2008/07/05(土) 22:43:00
- 可変FPSにして余った分sleepしてる
- 374 :デフォルトの名無しさん:2008/07/06(日) 01:24:40
- >>369
少し言い方悪かったね
分かりやすく言うとCPUの省電力動作の移行に関する操作までは
できないということ
でも省電力移行する程の期間で出力が必要な実装なんて
個人的にはあまり聞いたことが無い
- 375 :371:2008/07/06(日) 14:30:40
- >>372
シューティングゲームを作っているんですが、whileでぶん回しながら
自機、敵機の描画し、Thread.sleep(50)でウェイトをかけています。
通常ゲーム中のキー操作がある場合は速度が遅くなる事はないのですが、
ステージ間のアニメーション(敵機が決められた軌道上をスクロールする)
が長い箇所の場合20秒程あるんです。
要するにユーザがキー操作をせず描画処理だけが続く時間が最大20秒ほど
あるという事です。で、この時に徐々に速度が遅くなっていき、最後らへんには
見るも無残な速度になってしまいます。
途中、関係のないキーを押下してみたりしてアプリ側に処理が移ると速度が
元に戻ります。
- 376 :デフォルトの名無しさん:2008/07/06(日) 16:21:38
- >>375
上の人も言ってるけど
ユーザビリティ的に考慮する必要は無いと思うよ
携帯のゲームやったことあるなら分かるでそ?
- 377 :371:2008/07/06(日) 18:09:29
- >>376
なるほど…。
という事は勝手アプリを作る上で、数十秒程度のアニメーションは難しいという事ですよね。
色々ありがとうございました!
- 378 :デフォルトの名無しさん:2008/07/06(日) 18:35:42
- 軽いモーションならまだしも、数十秒もあるアニメーションならムービーにして再生したほうが早いんじゃねえの
- 379 :デフォルトの名無しさん:2008/07/06(日) 21:58:33
- >>376
携帯使うときって基本バックライトが消えそうになったら
適当なキーを押すという使い方が一般的だからな
もちろんマニアックな設定をしてる人以外で
- 380 :デフォルトの名無しさん:2008/07/06(日) 22:41:13
- しかしそう考えると、ゲーム開始前で決定キーの
入力待ちの状態とかってあるじゃん。
アクションゲームとかそこでデモっぽいのが
流れてたりするけど、あれも放置してると速度が
遅くなるって事なのかな?
あんま携帯ゲームしないからよく分からないや。
- 381 :デフォルトの名無しさん:2008/07/06(日) 23:28:39
- 携帯ゲーの場合デモ自体流さないな。
容量の関係とかで。
せいぜいタイトルで選択アイコンが点滅かアニメするだけ。
- 382 :デフォルトの名無しさん:2008/07/07(月) 01:48:57
- 色々試してみたらdoja端末だとバックライトが消えても処理は重くならず
OAP端末だと暫く待つと重くなる。適当なフリーアプリをDLしてみても同じく。
特にRPGで常に手足がてくてくなってるアプリを見てたら明らかに手足の
速度が遅くなってワロタ(笑)
まぁ機種による可能性大だが…。
- 383 :デフォルトの名無しさん:2008/07/07(月) 11:06:56
- >>371
ガベージコレクションを自動的な発生に任せていると重くなる事があるけど、それかな?
適当な所でSystem.gc()してみ?
- 384 :デフォルトの名無しさん:2008/07/07(月) 11:09:12
- BREWは動作遅くなるのが仕様
Docomo、Softbankならおかしい
- 385 :デフォルトの名無しさん:2008/07/07(月) 11:46:57
- AOPはJBlend on BREWだからなぁ
- 386 :デフォルトの名無しさん:2008/07/07(月) 13:18:42
- 本当にBREWはビチ糞だな。
- 387 :デフォルトの名無しさん:2008/07/07(月) 13:20:56
- 個人的にはゲリじゃなくて便秘の方かな。
- 388 :デフォルトの名無しさん:2008/07/07(月) 19:16:54
- System.gc();は毎フレームやれってばっちゃが言ってた。
東芝の場合はしらんって怒られました
- 389 :デフォルトの名無しさん:2008/07/08(火) 21:55:08
- softbankで famiJSCL 使ってる人に質問
rom の内部読み込みはうまくいくけど
外部読み込みで「romの読み込みに失敗しました」
となります
対処法をご存知の方お願いします
- 390 :389:2008/07/08(火) 23:14:52
- ちなみにMEXA_EMULATORのコンソールには
起動エラー: java.lang.SecurityException: com.j_phone.io.Connector.StorageConnection.read was denied
と表示されます
- 391 :デフォルトの名無しさん:2008/07/09(水) 00:17:44
- famiJSCLって何?
Trustedでインストールしてないとか?
- 392 :デフォルトの名無しさん:2008/07/09(水) 00:43:52
- ググったけどスレ違いすぎる
- 393 :389:2008/07/09(水) 01:18:36
- やはりここもスレ違いでしたか
失礼いたしました
ちなみに Trusted でインストールしたら無事起動しましたが
実機ではやはりエラーが出ます
- 394 :デフォルトの名無しさん:2008/07/09(水) 15:45:08
- >famiJSCL
www.geocities.jp/v904shmania/#famiJSCL
--- 引用
ファミコン&ディスクシステムえみゅ
- 395 :デフォルトの名無しさん:2008/07/09(水) 18:45:20
- スレ違いで悪いけど、famiJSCLやゲームギアのって音有りになってるが
音源はどうやってエミュレートしてるのか気になる
spf?mmf?MIDI?
- 396 :デフォルトの名無しさん:2008/07/09(水) 19:25:10
- デコンパイルしてソース読めば?
- 397 :デフォルトの名無しさん:2008/07/09(水) 20:01:36
- >>396
そのつもりだったけどfamiJSCLのダウンロード先が見つからないんだ・・
- 398 :デフォルトの名無しさん:2008/07/09(水) 21:22:37
- >>397
smaf-phrase
"famiJSCL"でググったら最初に見付かるサイトの最後の方にzipあるよ。
- 399 :357:2008/07/09(水) 22:44:49
- 今さらですが、取り合えずはなんとかは出来ましたのでご報告致します。
エミュや実機の動作の差分を見ていたところ、
703SHではゲーム用インナーのコンストラクタに入るところで急激に増えていました。
このクラスのメンバには一番多く変数が定義されており、
コピーコンストラクタで変数を大量に生成した後には703SHでは増えている感じでした
(エミュ・905SH・813SHでは約900KBに対し703SHでは約2MB)。
コンストラクタに入ったときにGCを呼んでも解放されなかったため、
new byte[Runtime.getRuntime().freeMemory()]
を2回呼ぶことで空きメモリが必要である事を主張し解放を促しました。
これにより前記の領域を解放させることが出来ました。
タイミングによってはOutOfMemoryErrorが出るので、安全策として、
ここの部分でのみErrorをcatchしています。
Errorの性質上、かなり気持ち悪い実装となりましたが、
現状ではこの方法で回避するとこが出来ました。
- 400 :357:2008/07/09(水) 22:45:46
- >>359
そのGCの実装の差異を何とか吸収出来る様なテクニックがあればと思いまして。。。
>>360
GCで解放されているものもあり、全く効果が無いわけではありませんでした。
ただ、もっと解放して欲しい領域には及んではくれませんでしたが。
>>361
1フレームに1ファイル読み込んでGCを呼んでおります。
>>363
リソース自体は300K程度で、
SH問題で動的なものもあり、
起動時に読み込むのは200K程です。
と言うわけで、怒鳴られてしまいそうな実装ですが、一応解決したました。
どうもありがとうございました。
- 401 :デフォルトの名無しさん:2008/07/09(水) 22:55:18
- (´∀`) スパーン!
⊂彡☆)´Д`)っ>>399
- 402 :デフォルトの名無しさん:2008/07/10(木) 01:21:06
- この流れでエミュエミュ言うから、うぜぇと思たら…
でもこれは駄目だろ
703shの実装以前に、何かが決定的に間違ってるはず
何がどれだけメモリを食ってるのかちゃんと調べたのか?
- 403 :デフォルトの名無しさん:2008/07/10(木) 09:52:43
- 循環参照でもして、メモリーリークしてるんじゃね?
- 404 :デフォルトの名無しさん:2008/07/10(木) 10:39:35
- いくらなんでも弱参照カウンタくらい実装してるだろVMが。
マーク&スイープだったりするぞ。
- 405 :デフォルトの名無しさん:2008/07/10(木) 11:05:35
- バグでガベコレがうまく働かない機種があったけど
それが703shだったかは忘れてしまった
- 406 :デフォルトの名無しさん:2008/07/10(木) 16:57:14
- >>404
いまどきの、コンパクションすら行わない速度だけを求めた糞VMが、そんなことしてるかね?
アプリが終了するときはしっかりやってそうだが。
- 407 :デフォルトの名無しさん:2008/07/11(金) 00:39:41
- S!アプリのJSCL-1.1.x以降はメモリコンパクションをサポートしているらしいが?
- 408 :デフォルトの名無しさん:2008/07/11(金) 01:01:31
- >>357はキャンバススレッドにベターッと全てを実装してたりしてなwww
- 409 :400:2008/07/11(金) 01:12:44
- >>402
自分のコードに絶対的な自信を持っているわけではありませんが、
ただ、元々Dojaからの移植でDoja版は問題なく動作をしており、
納品済みで公開されております。
Softbank版ではクライアントの方でチェックされている中で703SHのみ
OutOfMemoryErrorが出ると言う報告のものでありました。
なので、元のコード自体に決定的な間違いがあるとは思い難いと思っています。
最も、メモリ容量の推移についてを先方にチェックしてもらっているわけではないので、
報告が無いことが703SHと同様の動作をしてないことと等価では無いとも思いますが。
703SHは一旦の対応で返却してしまったため、次の機会に"何"が"どれだけ"
食っているかを調べたいと思います。
今回は大幅に増えるタイミングタイミングがメンバ変数の初期化子しか
無い状態だったので、また対応の時間もあまり無く、深く追うことができませんでした。
>>403
メンバ変数はint等の値型の多次元配列がほとんどで、
メンバに参照を保持するようなメンバは持っていません。
また、メンバ変数の配列はコンストラクタ等で生成した後は解放しないで、
新たに作ることなく使いまわしているので、リークしそうなものがほとんど無い状態です。
- 410 :デフォルトの名無しさん:2008/07/11(金) 01:27:17
- J2MEで巨大な多次元配列とな
- 411 :デフォルトの名無しさん:2008/07/11(金) 11:51:06
- いまどきのKVMならコンパクション実装してるぞ。
- 412 :デフォルトの名無しさん:2008/07/11(金) 13:21:42
- >>411
そうなの?
少なくともDoCoMoは昔は実装してたのに、901あたりから一切コンパクションしなくなった
速さ優先のもよう
- 413 :デフォルトの名無しさん:2008/07/11(金) 18:03:36
- >>412
むしろP900、N900はコンパクション無いことが明記されているよ。
普通に組んでたら断片化を起こしているはずだし、
最近の物はほとんどコンパクションに対応してると思うよ
ttp://www.nttdocomo.co.jp/binary/pdf/service/imode/make/content/iappli/caution/n900is_iappli_notes_ver1.pdf
ttp://www.nttdocomo.co.jp/binary/pdf/service/imode/make/content/iappli/caution/p900iv_iappli_notes_ver1.pdf
- 414 :デフォルトの名無しさん:2008/07/11(金) 19:30:29
- 聞きかじった情報を信じるほど怖いことはない
- 415 :デフォルトの名無しさん:2008/07/11(金) 21:17:14
- >>409
プロならカバレッジ取るなりしてちょっとは自分で考えろ
たかが数100kのソースコードだろ
- 416 :デフォルトの名無しさん:2008/07/12(土) 20:25:32
- >>413
明記されてんのは知ってるよw
だが901か902からは全社コンパクション未対応だよ
FPS60出す化け物携帯にコンパクションなんて対応してねーっての
メモリー潤沢だからコンパクションが必要な場面はほとんどないけどな
- 417 :デフォルトの名無しさん:2008/07/12(土) 22:32:34
- >>416
ソースは?
60FPSってどのアプリよ
SHの画像メモリはちゃんとコンパクション
されているみたいだが
- 418 :デフォルトの名無しさん:2008/07/12(土) 22:59:45
- どっちが本当かは知らんけど、ドコモの902以降だったらマリオくらいだと60FPS出せるね
- 419 :デフォルトの名無しさん:2008/07/13(日) 04:59:11
- コンパクションするかどうかは、プログラムを組んで確認してみればわかること。
- 420 :デフォルトの名無しさん:2008/07/13(日) 06:07:08
- コンパクションしてるかってどうやって検証すんの?
- 421 :デフォルトの名無しさん:2008/07/13(日) 09:43:08
- 1M 10KB 1M 10LB
- 422 :デフォルトの名無しさん:2008/07/13(日) 09:43:38
- 1M 10KB 1M 10KB
って確保してうめうくしたあと、GCして、その後2Mとろうとしてみればいいんじゃね?
- 423 :デフォルトの名無しさん:2008/07/15(火) 03:04:56
- ■■■■■■■■ ■=new int[1048576/4]
■□■□■□■□ □=null
System.gc()
new int[2097152/4]
- 424 :デフォルトの名無しさん:2008/07/16(水) 03:15:57
- なるほと理解した
- 425 :デフォルトの名無しさん:2008/07/17(木) 01:56:42
- ろれつが回らない口調が流行ってるのか?
- 426 :デフォルトの名無しさん:2008/07/17(木) 02:48:40
- 解放しちゃらめぇ〜
- 427 :デフォルトの名無しさん:2008/07/17(木) 08:09:58
- はーいたらちゃんです
- 428 :デフォルトの名無しさん:2008/07/17(木) 22:43:45
- プログラマーは赤ちゃん返り
- 429 :デフォルトの名無しさん:2008/07/19(土) 11:18:15
- 現在、ソケット通信を行うS!アプリを作成中です。
エミュレーターでは動作しサーバープログラムと通信できるのですが、
実機(921SH)では下記の記述部分でSecurityExceptionが発生してしまいます。
Connector.open("socket://[IPアドレス]:[ポート番号]");
jadファイルとMANIFESTファイルには
MIDlet-Permissions: javax.microedition.io.Connector.socket
と記述しています。
エラーの内容は javax.microedition.io.Connector.socket was denied です。
原因をご存知であれば、ご教授お願い致します。
- 430 :デフォルトの名無しさん:2008/07/19(土) 12:57:23
- >>429
Socketアクセス出来ればメールも詐称しまくり送りまくりだよねえ。
フリーソフトにマルウェアとして仕込めば自分の手を汚さずに。
- 431 :デフォルトの名無しさん:2008/07/19(土) 13:52:14
- socket通信はできないんですか?
- 432 :デフォルトの名無しさん:2008/07/19(土) 13:52:41
- >>430
なぜわかった?w
- 433 :デフォルトの名無しさん:2008/07/19(土) 13:53:52
- >>431
そういうことをやりたいならS!なんて忘れることだ。
- 434 :デフォルトの名無しさん:2008/07/19(土) 13:59:36
- http://k-tai.impress.co.jp/cda/article/news_toppage/36823.html
これはどういう意味なんでしょうか?
- 435 :デフォルトの名無しさん:2008/07/19(土) 22:18:58
- TCP/IP直叩き出来るようになる。
- 436 :デフォルトの名無しさん:2008/07/19(土) 22:42:22
- 許された人達には
- 437 :デフォルトの名無しさん:2008/07/20(日) 00:02:57
- >>432
お前みたいなヒヨッコがクラッカー気取りで変なもの組もうとするから
規制がアホみたいに厳しくなるのですよ
- 438 :デフォルトの名無しさん:2008/07/20(日) 09:35:52
- >>436
あまりにもアレすぎて、ほとんどの人たちは許されませんでした
- 439 :デフォルトの名無しさん:2008/07/21(月) 00:43:40
- 一部の公認アプリのみがsocket通信可能ということですか?
- 440 :デフォルトの名無しさん:2008/07/21(月) 02:36:48
- >>437
もともと禁止されていたんです。
私のせいで規制されたような言い方はやめてくださいw
- 441 :デフォルトの名無しさん:2008/07/21(月) 02:43:50
- >>439
こんなところで質問する暇があるなら職場の先輩にでも聞くといい
- 442 :デフォルトの名無しさん:2008/07/21(月) 15:34:16
- ググれカスで十分だ
- 443 :デフォルトの名無しさん:2008/07/22(火) 00:41:55
- socket通信?仕様書も読めないのか?
日本語とgoogleの使い方から勉強しろよ。
- 444 :デフォルトの名無しさん:2008/07/22(火) 01:19:17
- ググれカスがわからないからgooできいてきました
- 445 :デフォルトの名無しさん:2008/07/22(火) 19:19:31
- クマー!!
- 446 :デフォルトの名無しさん:2008/07/22(火) 21:06:19
- TextSS
- 447 :デフォルトの名無しさん:2008/07/22(火) 21:12:17
- >>439
そういうことです。
sに相談してくださいな
- 448 :デフォルトの名無しさん:2008/07/23(水) 15:05:59
- Softbank端末で、S!アプリからモーションコントロールセンサーを使いたいと思って調べてみたんだが、
そのAPIに対応している端末が904SHしか見当たらない。
センサーそのものは搭載していても、MEXA経由でアプリにインターフェース公開しているのが
904SHだけしかないって理解でOKですか?
だとしたらなんとも残念だ。
- 449 :デフォルトの名無しさん:2008/07/24(木) 11:51:26
- >>そのAPIに対応している端末が904SHしか見当たらない。
センサーそのものを搭載している端末で出来なかったの?
どういう情報で"見当たらな"かったのだろうか
- 450 :デフォルトの名無しさん:2008/07/24(木) 15:38:32
- >>449
Softbank開発者向けのサイトMobile Creation(ttp://creation.mb.softbank.jp/)で
「端末情報 MIDP2.0対応端末編 PartXX」のPDF資料を一通りさらったんだけど
「モーションコントロール対応可否」という項目が×ばかりだった。
たとえばセンサーは確かに搭載されているはずの921SHでも×になってた。
109 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
海外テレビ視聴率スレPart9 [海外テレビ]
【アニメ】「なんで富山県でオンエアされて無いんだ!」 県議が尽力、「true tears」今春放送実現へ [萌えニュース+]
【ALSA】サウンドドライバ総合スレ 2【OSS】 [Linux]
Vodafone【クリエーター】Vアプリスレッド 15 [携帯電話ゲー]
天文系ソフト【プラネタリウム】 part3 [天文・気象]
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.2 2008/07/24
FOX ★ DSO(Dynamic Shared Object)