マップデーターを分割して複数の配列に分けて、getMap(x,y)とかいった関数を用意して分割されているマップのデーターを取り出すようにするとかすると、マップデータを必要とするプログラム側では分割されてることを意識せずにすむようなプログラムの書き方が出来ます。多少効率は落ちますが。
あと、int で確保していますが、byte で確保すれば64Kの壁を越えずにすむのではないでしょうか?
2010年12月12日0:14 micco <gou...@gmail.com>:
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>
--
--
Toru Tashiro
toru...@gmail.com
こんにちは。
miccoです。
コメントありがとうございます!
最終的にはやむ得ないと思っていましたが、やはりマップデータを分割して扱うという方法ですね。
また、確かにintではなく、byteを使う方法も有効かもしれません。
整数型ってあまり意識していなかったので、全く気付いてませんでした。
ビット長が4分の1になりますからね。
さっそく試してみます。
On 12月12日, 午前3:06, 田代透 <toru2...@gmail.com> wrote:
> 田代と申します
>
> マップデーターを分割して複数の配列に分けて、getMap(x,y)とかいった関数を用意して分割されているマップのデーターを取り出すようにするとかすると-、マップデータを必要とするプログラム側では分割されてることを意識せずにすむようなプログラムの書き方が出来ます。多少効率は落ちますが。
> toru2...@gmail.com- 引用テキストを表示しない -
>
> - 引用テキストを表示 -
試してみた結果です。
①配列要素をbyte型に変更しましたが、エラーの解消には至りませんでした。
実際に格納されている初期データのサイズに依存しているのかしれません。
②そこで、同一クラス内でマップデータ配列を分割しましたが、エラーの解消
には至りませんでした。
③さらに、複数のクラスに②の各配列を分けて保持させたところ、問題が解
消しました。クラス毎にスタティック変数の初期データ量に上限があるのかも
しれません。
ありがとうございました。
On 12月12日, 午後3:39, micco <gou...@gmail.com> wrote:
> 田代さん
>
> こんにちは。
> miccoです。
>
> コメントありがとうございます!
> 最終的にはやむ得ないと思っていましたが、やはりマップデータを分割して扱うという方法ですね。
> また、確かにintではなく、byteを使う方法も有効かもしれません。
> 整数型ってあまり意識していなかったので、全く気付いてませんでした。
> ビット長が4分の1になりますからね。
> さっそく試してみます。
>
> On 12月12日, 午前3:06, 田代透 <toru2...@gmail.com> wrote:
>
>
>
> > 田代と申します
>
> > マップデーターを分割して複数の配列に分けて、getMap(x,y)とかいった関数を用意して分割されているマップのデーターを取り出すようにするとかすると--、マップデータを必要とするプログラム側では分割されてることを意識せずにすむようなプログラムの書き方が出来ます。多少効率は落ちますが。
> > - 引用テキストを表示 -- 引用テキストを表示しない -
>
> - 引用テキストを表示 -
ClassFile structureの問題なのでdalvik
もこのあたり引き継いでいるようです。64Kの壁がclassごとにあるというのは知りませんでした。ありがとうございました。
いまさらですが、配列をbyteにすると同時に初期化数値のほうも
{ (byte)1, (byte)2…}
とかするともしかしたら初期化データーがコンパクトになるかも(javaだとどうなのだろう)。また、マップデーターを別ファイル等のして読み込ませてみるとか。
2010年12月13日12:42 micco <gou...@gmail.com>:
こんにちは。
miccoです。
コメントありがとうございます。
確かに別ファイルで保持して読み込ませる手もありそうですね。
やったことがないので、実現方法を勉強する必要がありますが、参考になりました。
ありがとうございました。
On 12月13日, 午後8:21, 田代透 <toru2...@gmail.com> wrote:
> miccoさん、むらせさん
>
> 64Kの壁がclassごとにあるというのは知りませんでした。ありがとうございました。
>
> いまさらですが、配列をbyteにすると同時に初期化数値のほうも
> { (byte)1, (byte)2…}
> とかするともしかしたら初期化データーがコンパクトになるかも(javaだとどうなのだろう)。また、マップデーターを別ファイル等のして読み込ませてみるとか-。
>
> 2010年12月13日12:42 micco <gou...@gmail.com>:
>
>
>
>
>
> > こんにちは。
> > miccoです。
>
> > 試してみた結果です。
>
> > ①配列要素をbyte型に変更しましたが、エラーの解消には至りませんでした。
> > 実際に格納されている初期データのサイズに依存しているのかしれません。
>
> > ②そこで、同一クラス内でマップデータ配列を分割しましたが、エラーの解消
> > には至りませんでした。
>
> > ③さらに、複数のクラスに②の各配列を分けて保持させたところ、問題が解
> > 消しました。クラス毎にスタティック変数の初期データ量に上限があるのかも
> > しれません。
>
> > ありがとうございました。
>
> > On 12月12日, 午後3:39, micco <gou...@gmail.com> wrote:
> >> 田代さん
>
> >> こんにちは。
> >> miccoです。
>
> >> コメントありがとうございます!
> >> 最終的にはやむ得ないと思っていましたが、やはりマップデータを分割して扱うという方法ですね。
> >> また、確かにintではなく、byteを使う方法も有効かもしれません。
> >> 整数型ってあまり意識していなかったので、全く気付いてませんでした。
> >> ビット長が4分の1になりますからね。
> >> さっそく試してみます。
>
> >> On 12月12日, 午前3:06, 田代透 <toru2...@gmail.com> wrote:
>
> >> > 田代と申します
>
> >> > マップデーターを分割して複数の配列に分けて、getMap(x,y)とかいった関数を用意して分割されているマップのデーターを取り出すようにするとかすると---、マップデータを必要とするプログラム側では分割されてることを意識せずにすむようなプログラムの書き方が出来ます。多少効率は落ちますが。