トップページ⇒tech
1001コメント363KB

Androidプログラミング質問スレ Part23

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/06/19(火) 19:57:12.12
このスレではAndroidSDK・NDKやAndroidマーケットに関する質問を扱ってます。

※プログラミング自体が初めて!なあなたには↓↓↓こちらへ
スレ立てるまでもない質問はここで 118匹目
http://toro.2ch.net/test/read.cgi/tech/1331904826/
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
★★Java質問・相談スレッド153★★
http://toro.2ch.net/test/read.cgi/tech/1334438859/

****関連リンク****
■ Android developers http://developer.android.com/
■ ソフトウェア技術ドキュメントを勝手に翻訳 http://www.techdoctranslator.com/

****前スレ****
Androidプログラミング質問スレ Part22
http://toro.2ch.net/test/read.cgi/tech/1337170429/
0653デフォルトの名無しさん2012/07/11(水) 19:45:44.82
スレ違いギリギリなんですけど、メモリリークを調べたいので以下のサイトを参考に
hprof-convコマンドを使ってターミナルで実行してもcommand not foundって言われる。
ホーム直下にandroid-sdksを置いているんだけど、下のパスって間違ってます?

/usr/local//MacBookAir/android-sdk/tools/
http://eikatou.net/blog/2012/02/memory-leak/
0654デフォルトの名無しさん2012/07/11(水) 19:54:09.31
パスが間違ってるかどうかなんて Finder で開いて実際にモノがあるかどうか見てみればすぐわかるじゃないか
06556452012/07/11(水) 20:13:17.07
ご指摘ありがとうございます。

>>647
>ListActivityを使っているなら、ListViewのIDは"list"にしないと駄目
 Activityは普通の(?)Activityです。 問題になるかも知れない箇所を削るだけ削ったら、こんな形に。

>>652
>android:width="0dp" ってのはそれでいいの?
 どこだかで見た、複数カラムある時に均等割する技、というので入れてました。
一応気になって外してみたのですが、結果は変わりませんでした。
0656デフォルトの名無しさん2012/07/11(水) 20:25:32.39
>>654
そう言えば「情報を見る」にパスが書かれてた。
出来る様になったよ。ありがと。
0657デフォルトの名無しさん2012/07/11(水) 22:38:41.06
やさしいAndroidプログラミングを買って、
序盤の章を試してるのですが、Androidエミュレーターがいつまでたっても、
「ANDROID」ってロゴがキラキラ光るだけで、ホーム画面に移りません。
開発環境はPenM1.6G、メモリ2G、XPSP3の古いノートPCですが、
これでは遅すぎでしょうか?
JDKはjdk-7u5-windows-i586.exeです。
何か命令が足りてないのかな。
サンプルの動作は実機で起動して確認はできました。
0658デフォルトの名無しさん2012/07/11(水) 22:46:57.85
>>657
そのスペックじゃきついかもな・・・
実機持ってないの?
持ってないなら、実機買うかPC買い換えるかのどっちかだな
0659デフォルトの名無しさん2012/07/11(水) 22:47:32.72
>>657
よくあるからエミュ閉じてもう一回起動がいいよ
0660デフォルトの名無しさん2012/07/11(水) 22:49:10.52
たしかにそのスペックじゃ厳しいな
0661デフォルトの名無しさん2012/07/11(水) 23:04:50.36
単純にスペック不足なだけだろうなぁ
0662デフォルトの名無しさん2012/07/11(水) 23:34:56.45
i7の16Gでも普通のエミュは少し遅いからな
0663デフォルトの名無しさん2012/07/11(水) 23:48:42.21
2.3までは非公式のcalendarproviderを使用してカレンダーの作成を行ったのですが、
同期をすると作成したカレンダーがなぜか消えてしまいます。
非公式なので作成を諦めるしかないでしょうか?
0664デフォルトの名無しさん2012/07/12(木) 00:20:41.89
OverScrollerを実装してみたのですが、
S2だと慣性が働いてXperia系だとエッジに衝突しても慣性が働きません。
どなたかその理由分かる方いますか?

http://pastebin.com/8ch4TXbR
0665デフォルトの名無しさん2012/07/12(木) 00:22:02.52
>>657
それでエミュ起動とか無謀すぎるだろ・・・
俺の型落ちPCは3Ghzの4Gメモリでもどっこいどっこいだぞww
0666デフォルトの名無しさん2012/07/12(木) 00:40:37.02
activityをfinishさせても22M残るんですけど、
これ完璧メモリリークですよね?

・onDestroy時、オブジェクトをnullさせる
・imageView.setImageURI(null);
・Context系はgetApplicationContext()に置き換えて

他にすべき事って何かありますか?
0667デフォルトの名無しさん2012/07/12(木) 00:52:00.01
皆様ありがとうございました。
新しいマシン買ってきます。
0668デフォルトの名無しさん2012/07/12(木) 01:04:25.78
>>657
メモリ足りなくてスワップしまくりなんじゃないかと。
メモリ2GとかEclipseとエミュレータだけで
他何もいらないもの動かさない状態でギリって感じ。

一度Eclipseは立ちあげずにコマンドプロンプトから
「android avd」と打つか、あるいはSDKフォルダの「AVD Manager.exe」を実行して
そこからエミュレータを単体で起動させればメモリが足りてそれなりに動くかも
0669デフォルトの名無しさん2012/07/12(木) 01:09:26.17
あっと自分はやったことないけどリモートデバッグできるっぽいから
他にマシンがあるならエミュレータはそっちで起動して・・・いや面倒だな・・・
0670デフォルトの名無しさん2012/07/12(木) 01:13:09.96
端末を叩く動作を正確に検出する方法ないですか?
やりたいことは、iPhoneのtipskipとほぼ同じなんだけど、
端末を振ったときや置いたときに誤作動してしまう。。
0671デフォルトの名無しさん2012/07/12(木) 01:49:26.02
>>664
オーバースクロールはアップルが特許だと主張するのでいつからか廃止されて代わりに端が光るようになった
0672デフォルトの名無しさん2012/07/12(木) 01:55:46.77
>>>666
具体的に何がリークしてるのかを調べた方がいいんじゃないかな
何かそういうツールがあった気がするのだけれど
0673デフォルトの名無しさん2012/07/12(木) 02:46:05.25
>>666
だけど、他のアプリがメモリ要求したらそこ開放してくれる。
Cのアプリと考え切り離したほうがいいよ。
0674デフォルトの名無しさん2012/07/12(木) 05:49:27.24
>>666
MATとか使って調べたほうがいいと思うよ。
http://d.hatena.ne.jp/tlync/20111220/1324372308
0675デフォルトの名無しさん2012/07/12(木) 08:56:46.58
core2duoじゃ4.0のエミュきびしいよね?
0676デフォルトの名無しさん2012/07/12(木) 08:59:39.49
x86ならいける
0677デフォルトの名無しさん2012/07/12(木) 09:14:46.85
>>675
うちのCorei7の6コアなら普通にいけたよ
0678デフォルトの名無しさん2012/07/12(木) 10:03:49.74
>>677
6コアなんてあるの!?
クワッドじゃなくて?
0679デフォルトの名無しさん2012/07/12(木) 10:06:59.85
無いから安心していいよ
0680デフォルトの名無しさん2012/07/12(木) 10:07:22.55
>>678
Core i7 3930K
Core i7 970
0681デフォルトの名無しさん2012/07/12(木) 10:08:34.49
すげー6コアもうあるんだ
0682デフォルトの名無しさん2012/07/12(木) 10:12:16.73
ガチなのかネタなのかしらんが、
6コアは前からあったし、8コア(Xeon)も普通にあるので、
そんなすげぇっていうことでもないと思うのだが・・・。
0683デフォルトの名無しさん2012/07/12(木) 10:19:32.01
3年ほど意識を失ってたんじゃね
0684デフォルトの名無しさん2012/07/12(木) 10:22:00.40
AMDの16コアは相変わらずいい値段だがな。

>>675
厳しいと言えば厳しいかもしれんが、
まぁ、あなたが短気でなければ問題ない。
起動はするので、優しく扱っておくれ。
0685デフォルトの名無しさん2012/07/12(木) 10:22:53.17
ちなみに10コアも普通に出てる
高いけど
0686デフォルトの名無しさん2012/07/12(木) 10:28:19.19
AMDが8コアOpteronを自作向けに売り出してたけど
たしか2万円台だったし、いっぱいコアほしいならあれでいいんじゃね
0687デフォルトの名無しさん2012/07/12(木) 10:44:59.60
コア数で盛り上がっているところ悪いけど
エミュを起動させてタスクの様子を見てみたけどどう見ても1コアで頑張って動いているだけ。
このエミュレータはっきり言ってマルチプロセスで動いていない。

無駄なコア数論議しちゃってかわいそうだ。
自分でマルチコアで動くか確認してから物を語れ。
0688デフォルトの名無しさん2012/07/12(木) 10:46:28.75
そんなの常識
お前が馬鹿っぽい
06896752012/07/12(木) 10:48:45.01
>>687
そうしますと、Pen4もi7も変わらないってことですね。
了解致しました!
有難う御座います。

0690デフォルトの名無しさん2012/07/12(木) 10:50:00.89
>>689
1コアあたりの効率が違いすぎる。
0691デフォルトの名無しさん2012/07/12(木) 10:52:35.94
>>688
その常識から外れてコア数云々話しているのは恥ずかしい。
常識と言うが本当はおまえ知らなかったんだろwww
必死すぎ。
0692デフォルトの名無しさん2012/07/12(木) 10:55:32.83
↑馬鹿
06936752012/07/12(木) 10:56:14.22
>>690
なるほど。
ただ、i7とcore2duoでも型によっては
1コア当たりの性能が違うような気がするのですが、そこはどうなのでしょうか?
また、コア数多い方が、エミュ以外も同時に動かす場合に処理負荷が分散され
全体的に軽くなると思うのですが、そこはどうなのでしょうか?
0694デフォルトの名無しさん2012/07/12(木) 11:04:55.90
そりゃそうだ。
0695デフォルトの名無しさん2012/07/12(木) 11:06:18.50
>>692
論破されて必死すぎ。

>>693
>ただ、i7とcore2duoでも型によっては
>1コア当たりの性能が違うような気がするのですが、そこはどうなのでしょうか?
同じi7でもコアが同じなら1コアあたりの性能は同じ。
現状i7だけでも複数コアある。
また、QPI/DMIの性能の違いもある。

>コア数多い方が、エミュ以外も同時に動かす場合に処理負荷が分散され
>全体的に軽くなると思うのですが
正解。
0696デフォルトの名無しさん2012/07/12(木) 11:06:59.98
↑必死
0697デフォルトの名無しさん2012/07/12(木) 11:07:57.77
論破www
0698デフォルトの名無しさん2012/07/12(木) 11:08:27.83
↑必死
0699デフォルトの名無しさん2012/07/12(木) 11:11:04.31
俺はすごいんだぞ〜お前らは馬鹿なんだぞ〜認めてくれよ〜(号泣)





w
0700デフォルトの名無しさん2012/07/12(木) 11:13:21.77
>>699みたいななじるだけの奴は2chによくいるけど
そういう奴に限って知識も技術もゼロがほとんど。
少しは、質問している人の実になる回答しろよ。
なじるだけならバカでもできる。
いやなじるだけしかできないのね。ごめんごめんww
0701デフォルトの名無しさん2012/07/12(木) 11:27:08.54
僕のセロリンは動きますか><
0702デフォルトの名無しさん2012/07/12(木) 11:34:16.21
>>701
セレロンって言っても世代がものすごく多いけど
セレロンってペン2の頃からあるから
0703デフォルトの名無しさん2012/07/12(木) 11:37:06.18
今のceleronって結構早いんだよなぁ。
びっくりしたw
0704デフォルトの名無しさん2012/07/12(木) 11:45:47.90
ノートだとセロリンヂュオとcorei5ってあんまり値段変らないんだよな
0705デフォルトの名無しさん2012/07/12(木) 11:49:13.17
17インチでcorei3で4万とか
ノートって安くなってるんだな
0706デフォルトの名無しさん2012/07/12(木) 11:55:09.72
>>700
それが2chの醍醐味
0707デフォルトの名無しさん2012/07/12(木) 12:09:52.54

少
な
い
0708デフォルトの名無しさん2012/07/12(木) 12:10:02.10
>>700
類友
0709デフォルトの名無しさん2012/07/12(木) 12:13:56.79
くやしお・・・
0710デフォルトの名無しさん2012/07/12(木) 12:16:23.97
>>651
お前みたいな馬鹿には一番無理です。
0711デフォルトの名無しさん2012/07/12(木) 12:17:11.70
コアが多ければ 0-11までの割り当てで
動画:2-4
ブラウザ:5-6
って感じに、シングルでもMultiでも分散割り当てさせてやればよくね
0712デフォルトの名無しさん2012/07/12(木) 12:23:44.26
まあ、今のマルチコア販売戦略は明らかにPC業界の陰謀だからなー
コアが4〜6あってもほとんどのアプリは1コアしか使わない
マルチコア対応のプログラムなんてアホみたいに難しいから
(同時に非同期で処理を投げまくっていく。イメージとしては
 背後にサービスを4つ起動させて、それぞれに処理を渡す。
 メインスレッドはその間も待ってはならず、処理を続ける。
 ここで待つとシングル処理と同じになってしまい意味がなくなる)

個人作者のアプリで対応してるものなんて・・・全体の2%くらいなんじゃねーの?

マルチコア完全対応してるのはOS、アドビ、大企業のゲームくらいだろうさ
0713デフォルトの名無しさん2012/07/12(木) 12:27:14.84
×アホみたいに難しい
○アホには難しい
0714デフォルトの名無しさん2012/07/12(木) 12:30:17.21
>>687はきっとプログラミングなどで設計や仕様を考えるということをやったことがないんだと思う。
なんでかというと、そりゃ、エミュレータ『しか』動かさないなら別にそこまでコア数やCPUの性能は
今のCPUなら気にしなくてもいいかもしれないけど、
現実問題、それエミュ以外のものを同時に動かす事なんて当然ある。

その時に、コア数が少なければ、それだけエミュが動いているコアへの負担が大きくなるので
エミュの動作にも影響が出る。
なので、当たり前だけどコア数は多い方がいい。

それにかかわらず、
「無駄なコア数論議しちゃってかわいそうだ。
自分でマルチコアで動くか確認してから物を語れ。」
なんて言っちゃうあたり、まずお前が物事を多面的に考えろよとw
0715デフォルトの名無しさん2012/07/12(木) 12:54:38.99
i7がいいよなんてコア数だけしか考えてないような奴もいるけどな
0716デフォルトの名無しさん2012/07/12(木) 12:56:11.49
>>714
>現実問題、それエミュ以外のものを同時に動かす事なんて当然ある。
でも同時に動かすアプリは複数あっても同時に人間様が動かすアプリは一つ。
だからアクティブ以外のアプリは裏で処理をさせているのではなければ待ち状態でCPUは使われない。
よほど裏で重いバッチ処理をしているなら別だが
0717デフォルトの名無しさん2012/07/12(木) 12:58:39.23
MacBookAirはどうなの?
サクサク?
0718デフォルトの名無しさん2012/07/12(木) 13:01:35.94
>>714
必死すぎ。
現実は>>716。
そりゃ裏で動画のエンコードしながらアプリ開発していれば確かにたくさんコア有った方が良い。

>>715
i7とi5の大きな違いってモデルによって違いがあるけどHTの存在だからね。
0719デフォルトの名無しさん2012/07/12(木) 13:11:56.45
4コアでメモリが8GBあれば、開発程度なら余裕
6コア積んでメモリ4GBとか2GBだったら失笑
0720デフォルトの名無しさん2012/07/12(木) 13:21:19.01
今見たらメモリ2GBだったわwwww
アプリの報酬入ったらメモリ買うわ
0721デフォルトの名無しさん2012/07/12(木) 13:23:21.80
自分のマシンのスペックぐらい把握しとけよ
こういうハゲが、エミュが立ち上がらないんですけど〜なんて戯言ほざくんだろうなぁ
0722デフォルトの名無しさん2012/07/12(木) 13:33:18.12
エミュとか話にならない
実機が定番
0723デフォルトの名無しさん2012/07/12(木) 13:36:20.82
>>722
実機だとroot取ってないとDDMSでアクセス出来ないリソースがある。
0724デフォルトの名無しさん2012/07/12(木) 13:55:46.37
ここで質問してたような奴がそんな事してるとは考えがたいがな
0725デフォルトの名無しさん2012/07/12(木) 14:03:41.95
>>718
Eclipseとエミュって同時に使うと思うが…
0726デフォルトの名無しさん2012/07/12(木) 14:07:01.66
>>725
バッカお前、ここの猛者どもは快適な開発環境のため、
シングルスレッド爆速のマシンをEclipse専用+エミュ専用で2台用意してリモートデバッグしてんだよ
0727デフォルトの名無しさん2012/07/12(木) 14:08:03.68
必死と言ってる奴が実は必死という法則。
必死になって何回も言ってるし。
0728デフォルトの名無しさん2012/07/12(木) 14:15:44.04
>>725
エミュが動いているときはEclipseは待ち状態でCPUは使われていない。
デバッグ時だって双方を交互に使って同時には使わないでしょ。
0729デフォルトの名無しさん2012/07/12(木) 14:28:38.96
話ぶった切って悪いですけど

onCreateで
ArrayList<String> aaa = null;
aaa.add("あいうえお");
aaa.add("かきくけこ");
aaa.add("さしすせそ");
とやってArrayListを使おうとするとアプリが停止するんだけど原因は何?
0730デフォルトの名無しさん2012/07/12(木) 14:30:04.88
>>728
エミュ起動してイジりながら、コンソールからエミュにコマンド投げて、その様子をEclipse・DDMSのLogcatで眺めてるわ
0731デフォルトの名無しさん2012/07/12(木) 14:31:08.85
>>729
お前はNullにデータ追加して何がしたいんだよ、コア談義の邪魔すんな
0732デフォルトの名無しさん2012/07/12(木) 14:31:37.79
>>729
ぬるぽ
>>732
がっ
0733デフォルトの名無しさん2012/07/12(木) 14:32:03.40
>>713
お前はたった今、残り98%の開発者を敵に回した
0734デフォルトの名無しさん2012/07/12(木) 14:33:10.35
ぬるぬる〜を〜♪100倍に〜♪して〜♪
パーティーのー♪しゅやくぅーになろう♪
0735デフォルトの名無しさん2012/07/12(木) 14:33:27.44
>>729
Android以前の問題だな
Javaの入門書でも読む事を強くお勧めする
0736デフォルトの名無しさん2012/07/12(木) 14:37:16.30
流れぶった切ってすみません、質問失礼します。
作ったアプリがUSBデバッグでは何事もなく動作するのですが、アプリリストに追加されない現象が起きています。
設定の「アプリケーションの管理」には出ています。
apkで書きだしてインストールしてみても、
インストール自体は完了するのですが「開く」が選択できなくなっています。
ちょうどウィジェットのような扱いになっている感じです。
同じ症状経験されたことある方、原因に心当たりお持ちの方いらっしゃったらご助力願います。
0737デフォルトの名無しさん2012/07/12(木) 14:38:56.69
>>736
ManifestにIntentFilterをちゃんと書け
0738デフォルトの名無しさん2012/07/12(木) 14:40:13.63
流れぶった切ってすみません、
誰か>>595わかる方いらっしゃいませんか?
0739デフォルトの名無しさん2012/07/12(木) 14:42:04.09
流れぶった切ってすみません

ぬるぬる〜を〜♪100倍に〜♪して〜♪
パーティーのー♪しゅやくぅーになろう♪
0740デフォルトの名無しさん2012/07/12(木) 14:42:19.74
>>736
最初に起動されるactivityのintentfilterにこれ記述してるかい?
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
0741デフォルトの名無しさん2012/07/12(木) 14:47:05.29
>>721
だってそこそこ動いたしアプリもできちゃったし
今では100万DLの人気アプリです^q^
人気アプリ作るのにPCスペックとかあんまり関係なわな
0742デフォルトの名無しさん2012/07/12(木) 14:52:24.60
>>737 >>740
解決しました!
intentfilterに、逆に余計なこと(DATA)を入れてたせいでした。
ありがとうございます!
0743デフォルトの名無しさん2012/07/12(木) 14:59:31.90
Androidでネット対戦が出来て、アイテム課金とか
そういうアプリを作る時とかってどういった本参考にして作りました?
0744デフォルトの名無しさん2012/07/12(木) 15:01:15.99
リファレンスとかネットに散らばってる情報
0745デフォルトの名無しさん2012/07/12(木) 15:17:15.06
こんにちは
スリープとスレッドについて質問です

// レイアウトにSurfaceViewを一つ追加します
mySurfaceViewCallback = new classSurfaceView(Context);
mySurfaceView = new classSurfaceView(Context);
hoge.addView(mySurfaceView, new ...
mySurfaceViewHolder = mySurfaceView.getHolder();
mySurfaceViewHolder.addCallback(mySurfaceViewCallback);
// 内部クラス
class classSurfaceView extends SurfaceView implements SurfaceHolder.Callback, Runnable {
 @Override
 public void surfaceChanged(略) {
  thread = new Thread(this);
  thread.start();
 }
// ループ
 public void run() {
  while (thread != null) {
   // 描画処理
  }
}

一度スリープして戻るとclassSurfaceViewのthreadがnullになり描画が止まります
アクティビティ上のonResume()時にmySurfaceViewCallback.thread = new Thread(mySurfaceViewCallback); ....start();
などやってみましたが復帰できませんでした。どのようにすればthreadを復帰させられるのでしょうか?
よろしくおねがいします
0746デフォルトの名無しさん2012/07/12(木) 15:18:24.67
>>743
本ではあまりなさそうな気がする・・・ さぁ、ネットで頭痛くなるぐらい検索しよう!
0747デフォルトの名無しさん2012/07/12(木) 15:21:49.54
ネット…あなるほどがんばいrます。。
0748デフォルトの名無しさん2012/07/12(木) 15:25:44.96
バイトコードとは?
http://engawa.2ch.net/test/read.cgi/poverty/1342074057/
0749デフォルトの名無しさん2012/07/12(木) 16:00:39.59
>>745
うろ覚えですまぬが
> thread = new Thread(this);
これは、surfaceCreated(SurfaceHolder holder) の中でやるんじゃないのかい?
あと、Thread.sleep(long millis) はtry&catchで囲むとか。
0750デフォルトの名無しさん2012/07/12(木) 16:20:15.87
>>741
同じ100万DLでも

無料で100万DL
有料で100万DL
脳内で100万DL

とでは、ずいぶん話が変わってきますお^q^
0751デフォルトの名無しさん2012/07/12(木) 17:01:46.81
で、でたーwwwDL数自慢奴wwwwww
0752デフォルトの名無しさん2012/07/12(木) 17:09:01.01
証明する物を何かアップしないとネタ扱いだから
■ このスレッドは過去ログ倉庫に格納されています