0

SDカードのアプリにいくつかの画像があり、これらの画像を1つずつユーザーに表示したいのですが、このように1分後に別の画像、1分後に別の画像を表示します.aysnctaskを使用していますこれで、画像をビットマップに変換して表示します。ユーザーがアプリから存在するまで、これらの画像を連続ループで表示したいアプリは、画像を1つずつ表示する必要があります。次のコードを使用しています:-

     for(i=1;i<z-1;i++)
     {  
    xc=cont_id.get(1).toString();
     what=Environment.getExternalStorageDirectory() + "/Playerimages/" + xc + ".jpg";
     play_duration=durat.get(1);
     //s1.execute(what,play_duration);
      new Showtime().execute(what,play_duration);
      Log.i("lenght",String.valueOf(i));}

しかし、このような無限ループで実行しようとすると、アプリがクラッシュします:-

   for(i=1;i<z-1;i++)
  {

    xc=cont_id.get(1).toString();
    what=Environment.getExternalStorageDirectory() + "/Playerimages/" + xc + ".jpg";
    play_duration=durat.get(1);
  //s1.execute(what,play_duration);
  new Showtime().execute(what,play_duration);
   Log.i("lenght",String.valueOf(i));
      if(i=Z-1){
        i=1;
         }}

私のアプリがクラッシュしました。どうすればそれを達成できるか誰か提案してください..今、私のアプリはクラッシュしていませんが、私のログキャットが下にある画像は表示されていません

  09-04 12:11:31.807: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB
09-04 12:11:31.807: I/dalvikvm-heap(4358): Grow heap (frag case) to 48.000MB for 80-byte allocation
09-04 12:11:32.182: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
 09-04 12:11:32.182: D/dalvikvm(4358): GC_FOR_ALLOC freed 0K, 2% free 48571K/49159K, paused 372ms, total 372ms
  09-04 12:11:32.182: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB
  09-04 12:11:32.182: I/dalvikvm-heap(4358): Grow heap (frag case) to 48.000MB for 20-byte allocation
  09-04 12:11:32.182: D/dalvikvm(4358): WAIT_FOR_CONCURRENT_GC blocked 8390ms
  09-04 12:11:32.557: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
  09-04 12:11:32.557: D/dalvikvm(4358): GC_FOR_ALLOC freed 0K, 2% free 48571K/49159K, paused 380ms, total 380ms
  09-04 12:11:32.557: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB
  09-04 12:11:32.557: I/dalvikvm-heap(4358): Grow heap (frag case) to 48.000MB for 12-byte allocation
  09-04 12:11:32.932: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
   09-04 12:11:32.932: D/dalvikvm(4358): GC_CONCURRENT freed 0K, 2% free 48571K/49159K, paused 2ms+3ms, total 371ms
  09-04 12:11:32.932: D/dalvikvm(4358): WAIT_FOR_CONCURRENT_GC blocked 369ms
  09-04 12:11:33.292: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
  09-04 12:11:33.292: D/dalvikvm(4358): GC_FOR_ALLOC freed 0K, 2% free 48571K/49159K, paused 362ms, total 362ms
  09-04 12:11:33.292: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB
  09-04 12:11:33.292: I/dalvikvm-heap(4358): Grow heap (frag case) to 48.000MB for 110-byte allocation
  09-04 12:11:33.659: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
   09-04 12:11:33.659: D/dalvikvm(4358): GC_FOR_ALLOC freed <1K, 2% free 48571K/49159K, paused 362ms, total 362ms
  09-04 12:11:33.659: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB
   09-04 12:11:33.659: I/dalvikvm-heap(4358): Grow heap (frag case) to 48.000MB for 24-byte allocation
  09-04 12:11:34.026: I/dalvikvm-heap(4358): Clamp target GC heap from 50.002MB to 48.000MB
  09-04 12:11:34.026: D/dalvikvm(4358): GC_FOR_ALLOC freed <1K, 2% free 48571K/49159K, paused 368ms, total 368ms
   09-04 12:11:34.026: I/dalvikvm-heap(4358): Clamp target GC heap from 48.002MB to 48.000MB

などなど

4

2 に答える 2

0

このコードはあなたを助けるかもしれません

https://code.google.com/p/android-slideshow/

Google コードのリンクで、[ソース] というラベルの付いたタブを確認し、Subversion を使用してリポジトリからコードを取得します。

これを使用してファイルパスを取得します。

String path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+file_name
于 2013-09-04T06:30:35.973 に答える