안드로이드 첫장.
이미지 뷰를 10개 이상 만들고 이미지를 이미지뷰에 올리는 작업을 할때.....
여러가지 방법이 있겠지만 구글링으로 자료를 찾고 방법을 찾아서 정리하면
Activity가 3개 이상이고 통 이미지가 3장 이상 이미지 사이즈가 640 X 2055 px 일 경우
먼저 이미지 사이즈를 포토샵이나 일러스트로 이미지 사이즈를 적당한 크기로 자르는데
Activity 하나에 미미지뷰를 갯수를 16개 이하로 해서 즉 이미지를 16개 잘라서 작업을 한다.
그리고 이미지 사이즈가 크기 때문에 액티브티 구성은 스크롤뷰 형태로 되어 있다.
activity_main.xml 소스
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:fadeScrollbars="false"
android:scrollbarSize="10dp"
android:scrollbarStyle="outsideInset">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/line4">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView1"
android:layout_gravity="center_horizontal"
android:src="@drawable/page4_01"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView2"
android:src="@drawable/page4_02"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView3"
android:src="@drawable/page4_03"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView4"
android:src="@drawable/page4_04"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView5"
android:src="@drawable/page4_05"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView6"
android:src="@drawable/page4_06"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView7"
android:src="@drawable/page4_07"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView8"
android:src="@drawable/page4_08"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView9"
android:src="@drawable/page4_09"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView10"
android:src="@drawable/page4_10"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView11"
android:src="@drawable/page4_11"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView12"
android:src="@drawable/page4_12"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView13"
android:src="@drawable/page4_13"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView14"
android:src="@drawable/page4_14"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView15"
android:src="@drawable/page4_15"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView16"
android:src="@drawable/page4_16"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView17"
android:src="@drawable/page4_17"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView18"
android:src="@drawable/page4_18"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView19"
android:src="@drawable/page4_19"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView20"
android:src="@drawable/page4_20"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView21"
android:src="@drawable/page4_21"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView22"
android:src="@drawable/page4_22"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView23"
android:src="@drawable/page4_23"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView24"
android:src="@drawable/page4_24"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView25"
android:src="@drawable/page4_25"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView26"
android:src="@drawable/page4_26"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView27"
android:src="@drawable/page4_27"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/page4_imageView28"
android:src="@drawable/page4_28"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
</LinearLayout>
</ScrollView>
액티브티 하나에 이미지뷰가 28개 인데 이러한 것이 3개 이상일때 안드로이드 만들어 실행시키면 메모리
에러가 발생하는데 이럴 해결하는 방법을 찾았다.
MainActivity.java 소스
package com.hotelstory.test9;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
/**
* Created by win7 on 2016-03-24.
*/
public class MainActivity extends Activity implements OnClickListener {
ImageView iv[]= new ImageView[18];
/*{ iv1, iv2, iv3, iv4, iv5, iv6, iv7, iv8, iv9, iv10,
iv11, iv12, iv13, iv14, iv15, iv16, iv17, iv18, iv19, iv20,
iv21, iv22, iv23, iv24, iv25, iv26}; */
// 다른 activity를 띄우기 위한 요청 코드 정의
public static final int REQUEST_CODE_ANOTHER = 1001;
public static int startCount = 0;
static final String TAG = "dhLee";
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Dlog.d("로그 내용");
setContentView(R.layout.activity_main);
Log.d("TAG", "MainActivity : onCreate");
for (int i =0; i < 17; i++) {
iv[i] = (ImageView) findViewById(R.id.imageView1 + i);
}
/*
for (int i =0; i < 17; i++) {
iv[i].setImageResource(R.drawable.page1_01 + i);
}
*/
/*
iv1 = (ImageView) findViewById(R.id.imageView1);
iv2 = (ImageView) findViewById(R.id.imageView2);
iv3 = (ImageView) findViewById(R.id.imageView3);
iv4 = (ImageView) findViewById(R.id.imageView4);
iv5 = (ImageView) findViewById(R.id.imageView5);
iv6 = (ImageView) findViewById(R.id.imageView6);
iv7 = (ImageView) findViewById(R.id.imageView7);
iv8 = (ImageView) findViewById(R.id.imageView8);
iv9 = (ImageView) findViewById(R.id.imageView9);
iv10 = (ImageView) findViewById(R.id.imageView10);
iv11 = (ImageView) findViewById(R.id.imageView11);
iv12 = (ImageView) findViewById(R.id.imageView12);
iv13 = (ImageView) findViewById(R.id.imageView13);
iv14 = (ImageView) findViewById(R.id.imageView14);
iv15 = (ImageView) findViewById(R.id.imageView15);
iv16 = (ImageView) findViewById(R.id.imageView16);
iv17 = (ImageView) findViewById(R.id.imageView17);
iv18 = (ImageView) findViewById(R.id.imageView18);
iv19 = (ImageView) findViewById(R.id.imageView19);
iv20 = (ImageView) findViewById(R.id.imageView20);
iv21 = (ImageView) findViewById(R.id.imageView21);
iv22 = (ImageView) findViewById(R.id.imageView22);
iv23 = (ImageView) findViewById(R.id.imageView23);
iv24 = (ImageView) findViewById(R.id.imageView24);
iv25 = (ImageView) findViewById(R.id.imageView25);
iv26 = (ImageView) findViewById(R.id.imageView26);
//
iv1.setImageResource(R.drawable.page1_01);
iv2.setImageResource(R.drawable.page1_02);
iv3.setImageResource(R.drawable.page1_03);
iv4.setImageResource(R.drawable.page1_04);
iv5.setImageResource(R.drawable.page1_05);
iv6.setImageResource(R.drawable.page1_06);
iv7.setImageResource(R.drawable.page1_07);
iv8.setImageResource(R.drawable.page1_08);
iv9.setImageResource(R.drawable.page1_09);
iv10.setImageResource(R.drawable.page1_10);
iv11.setImageResource(R.drawable.page1_11);
iv12.setImageResource(R.drawable.page1_12);
iv13.setImageResource(R.drawable.page1_13);
iv14.setImageResource(R.drawable.page1_14);
iv15.setImageResource(R.drawable.page1_15);
iv16.setImageResource(R.drawable.page1_16);
iv17.setImageResource(R.drawable.page1_17);
iv18.setImageResource(R.drawable.page1_18);
iv19.setImageResource(R.drawable.page1_19);
iv20.setImageResource(R.drawable.page1_20);
iv21.setImageResource(R.drawable.page1_21);
iv22.setImageResource(R.drawable.page1_22);
iv23.setImageResource(R.drawable.page1_23);
iv24.setImageResource(R.drawable.page1_24);
iv25.setImageResource(R.drawable.page1_25);
iv26.setImageResource(R.drawable.page1_26);
*/
//
iv[15].setOnClickListener(this);
}
@Override
protected void onStart() {
super.onStart();
for (int i =0; i < 17; i++) {
iv[i].setImageResource(R.drawable.page1_01 + i);
iv[i].setId(i); //images num....
}
}
@Override
protected void onStop() {
super.onStop();
for (int i =0; i < 17; i++) {
iv[i].setImageDrawable(null);
}
}
@Override
protected void onResume() {
super.onResume();
Log.d("TAG", "MainActivity : onResume");
}
@Override
public void onClick(View v) {
int id = v.getId();
startCount = id;
switch (id) {
case 15:
Intent intent = new Intent(getBaseContext(), Page2Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
default:
break;
}
}
/*
public void go_page2(View view) {
// Do something.....
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
Intent i = new Intent(getBaseContext(), Page2Activity.class);
i.putExtra("startCount", String.valueOf(startCount));
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
startCount++;
} */
}소스 자체를 올려 두었는데 개인적으로 참고하려고