JEvaHz Messages 1313-1319

about contact links home tools todo search

About P503i getImage()




From: "Hironobu ODA"
Sent: Monday, July 09, 2001 5:04 PM
Subject: [JavaHz:1313] PのgetImage()について
About P503i getImage() 

おだぷーと申します。

Oda-bu here.

Pだけの現象で、デバッグに困っています。。。

This happens only with the P [P503i phones], and is a pain
to debug.... 

サーバからGIFファイルをダウンロードして
スクラッチパッドに読みこみ、
それを画面表示に利用しています。

Downloading a GIF from the server,
and reading it into a scratchpad,
then putting it onto the display....

P503i以外の機種では正常に動作するのに、
P503iだけが

Even though it works correctly on all devices
except the p503i, with the p503i

MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=XXX");
mi.use();
im[i] = mi.getImage();

の最後の行でエラーを起こします。

The last line causes an error.

N,SO,その他の機種で試しましたが、Pだけがここでエラーを起こします。

I tested with the N, the SO, and other devices; only the P
causes this error.

なにかwell-knownな機種依存があるのでしょうか?

I wonder is there any "well-known" device-dependence here?

ちなみに上記のソースの部分はループになっていて38個のGIFイメージを
読みこむようになっています。

While we're on the subject: it looked like the above source's
loop read the GIF image 38 times.

殆どの画像は100バイトにも満たないファイルなのですが、
ループの最後の画像だけは500〜7000バイトあるイメージになります。

With most of the images not even being 100 bytes,
only the loop's last image ended up being 500-7000 bytes.

500バイトのものでやっても7000バイトのものでやっても結果は同じです。

With 500 bytes or 7000 bytes, there's the same result.


おだぷ
Oda-bu.



From: "Kenichiro Ueda"
Sent: Monday, July 09, 2001 5:25 PM
Subject: [JavaHz:1314] Re: PのgetImage()について


植田です。

Ueda here.

> 殆どの画像は100バイトにも満たないファイルなのですが、
> ループの最後の画像だけは500〜7000バイトあるイメージになります。

> With most of the images not even being 100 bytes,
> only the loop's last image ended up being 500-7000 bytes.

500バイトとはいえ、携帯には結構な量です。メモリ不足は
考えられませんか。たとえば最後の画像が80バイト程度でも
同じ例外が出ますか。

If it's 500 bytes, that's the keitai capacity.  Isn't
this just a memory shortage?  For example, even with
the last image being 80 bytes, you'll see the same
exception raised.

System.gc()をコールしても変わりませんか。

Won't you see a change if you call System.gc().



From: "Kaoru Omiya"
Sent: Monday, July 09, 2001 5:42 PM
Subject: RE: [JavaHz:1313] PのgetImage() について

> MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=XXX");
> mi.use();
> im[i] = mi.getImage();


> の最後の行でエラーを起こします。

> The last line causes an error.

最後のイメージを読み込む際のposが5K(5120)を超えていませんか?Pの一部はスク
ラッチパッドの容量が5Kだけだったのでは・・。

When you read the last image, doesn't "pos" cross 5K (5120)?  Since, in the case of P,
the scratchpad's capacity is only 5K....

試しにそのイメージを先頭に読み込んでみてはどうでしょう?

Just as a test, why not just trying to read the image's header?

---------------------------------
Kaoru Omiya

Software Developer, Software Division
Layer-8 Technologies, Inc.

URL http://www.L8tech.com




From: "uda"
Sent: Monday, July 09, 2001 5:57 PM
Subject: Re: [JavaHz:1313] PのgetImage()について
About P503i getImage()

uda@みぅです。

Uda at MIu [???] here.

Image処理でPだけ動かないとゆう現象は過去に経験しています。

I've had some experiences in the past with image handling
working poorly on the P.

で、あっているかどうかはわかりませんが、経験から...。
記載されているソースにエラー処理が見当たらないので推測ですが、

So: whether this is it or not, I don't know, but from my experience...
my guess is that it can't find the error handler that was mentioned in
the source.

MediaImage.Use()でエラーがおこっているように見えて、
(いや、おこってるんだけど... ̄▽ ̄;)
じつわHTTP通信でGIFデータを取得するときにエラーが起こっていたとゆうものでし
た。

It looked like MediaImage.Use() is raising an error
 (Yeah and raising my blood pressure, too ~_~)
Actually, when HTTP comms got the GIF data, that's when
the error was raised.

HTTP通信のHttpConnection.setRequestPropaty()の処理で、
GETメソッド実行時にコンテンツタイプを設定している場合、
その設定自体が無意味な(必要ない)設定のため、
P503i、P503iSではConnectionExceptionを返すようです。
(もちろんダウンロードされていません)

With HTTP comm's HttpConnection.setRequestProperty() handler,
in the case where Content Type is being set for when the GET
method executes, because the setting itself is inconsequential
(unneeded), the P503i and P503iS return a ConnectionException.
 (Naturally, there will be no download.)

わたしの場合はUIExceptionしか見ていなかったので、
エラー発生に気づかずに、
MediaImage.Use()でエラーがおこったので
なんでだりぅ?とおもっていたらそうだったとゆうオチです。
(ダウンロードされていない画像を使用しようとした)

Since, in my case I didn't see anything except a UIException,
and didn't notice the origin of the error,
because the error was raised by MediaImage.Use(),
I thought "what the...?! - is this the punchline?"
 (It looks like I'll use the last image that it didn't download [???])

HTTP通信時にConnectionExceptionを
拾うようにしてみたらわかるかもしれません。
私の場合は、コンテンツタイプの設定をしていたので、
当該行をコメントアウトしたら動きました。 ̄▽ ̄;

I wonder if you can tell when a ConnectionException
is picked up during HTTP communications.
In my case, since it was because the content type
was being set, I worked when I commented out the
line in question.


WROTE: "Hironobu ODA" 
> おだぷーと申します。
> Pだけの現象で、デバッグに困っています。。。





From: "Hironobu ODA"
Sent: Monday, July 09, 2001 5:59 PM
Subject: [JavaHz:1317] Re: PのgetImage( について
About P503i getImage()

おだぷーです。

Oda-bu here.

Kaoru Omiya wrote:
> > MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=XXX");
> > mi.use();
> > im[i] = mi.getImage();
> >
> > の最後の行でエラーを起こします。
> 
> 最後のイメージを読み込む際のposが5K(5120)を超えていませんか?Pの一部はスク
> ラッチパッドの容量が5Kだけだったのでは・・。
> 試しにそのイメージを先頭に読み込んでみてはどうでしょう?

最後のイメージ以外の合計は 2571 Byteです。

Except for the last image, the total was 2571 bytes.

最後に読みこむイメージの最小のものは 537 Byteです。

The last (smallest) image was 537 bytes.

これだと5K以内に収まりますよね。

Being under 5K it should be fine.

でもそういう「一部」っていうのもあるんですね。。。

On the other hand, it could be a problem in this case.

情報ありがとうございます。

Thanks for the information.


おだぷ

Oda-bu.



From: "Masao OZONE"
Sent: Monday, July 09, 2001 8:41 PM
Subject: [JavaHz:1318] Re: PのgetImage( について
About P503i getImage()

オゾネと申します。

Ozone here.

私もこの問題は経験しました。

I've experienced this problem too.

その時は大きな画像(120x120)の部分でエラーが発生していたので
容量が重すぎるのかと思い、画像の色数を極端におとしてみたところ、
それでもエラーでした。

At that time, because it was happening with a large (120x120) image,
thinking that I'd overloaded the capacity [of the phone], 
I tried drastically reducing the number of colors,
but still got this same error.

その後、画像を分割して120x60を2枚というかたちにしたら
上手くいきました。

Then, breaking the image into two 120x60 sections
improved matters.


> MediaImage mi = MediaManager.getImage("scratchpad:///0;pos=XXX");
> mi.use();
> im[i] = mi.getImage();
> 
> の最後の行でエラーを起こします。



_____________________________________________________________________
PROJECT GT
オゾネ






From: "Hironobu ODA"
Sent: Tuesday, July 10, 2001 10:26 AM
Subject: [JavaHz:1319] Re: PのgetImage( について
About P503i getImage()

おだぷーです。

Oda-bu here.

Masao OZONE wrote:
> 私もこの問題は経験しました。
> その時は大きな画像(120x120)の部分でエラーが発生していたので
> 容量が重すぎるのかと思い、画像の色数を極端におとしてみたところ、
> それでもエラーでした。
> その後、画像を分割して120x60を2枚というかたちにしたら
> 上手くいきました。

僕も120x120を使っています。

I'm using 120x120 images too.

なのですが、まだ上記の方法は試していません。(^^;)

In any case, I still haven't test the above approach.

その前に昨日は皆さんから頂いたアドバイスから考えて、
JAMファイルのSPsizeをいじってみました。

Thinking about the advice I got from everybody yesterday,
I tried messing around with the JAM file SPsize.

何も考えずに10240にしていたので。。。
(これがPではそもそもの間違い??)

With no real plan in mind I increased it to 10240....
 (This being the P, maybe that was the problem all along?)

適正サイズにしてみたら動きました。
Pの場合、5kを越えるものはダメなのですか?

Setting it to a reasonable size, it worked!
With the P, maybe exceeding 5K just doesn't work?

それはそれでいいのですが、
SPsizeを少しづつ大きくしていったら5kくらいまで上がるのかと思ったら、
中途半端な値でエラーになりました。

Be that as it may [???],
while increasing SPsize bit by bit, thinking maybe around 5K
that I'd see it again,
I made it error out with a kind of binary search [???].

他のアプリを消したりしたらその中途半端な値を少しあげることにも
成功しました。
でもアプリ1個にしても4100バイトほどでエラーになります。

Even when I erased/exited [???] the iAppli, I was able to
use this binary search to cause the error again. [???]
But running the application even one time, I say the error
at around 4100 bytes.

これはどういうことでしょうか??
(もしかして、だんだんwell-knownな話題になってきました?(^^;) )

I wonder what this is?
 (Probably this has steadily become a "well-know" issue? (^^;) )

おだぷ

Oda-bu


top