본문 바로가기

android

[ Android ] not enough memory for AudioTrack SoundPool객체를 사용할 때 볼 수 있는 에러 이다. 이 에러는 SoundPool에서 지정한 크기보다 더 많이 사용했다는 의미로써! 더 이상 사용을 하지 않거나 초기화를 해줘야 한다는 말이다. 우선 간단한 SoundPool 사용한 소스에서 http://gogorchg.tistory.com/entry/Android-SoundPool-%EC%8B%9C%EC%9E%91-%EB%B0%8F-%EC%A0%95%EC%A7%80 playSound함수를 사용할 때는 문제가 생기지 않지만, playLoopSound함수를 사용할 때가 문제가 된다. 만약 Loop함수로써 계속 메모리를 잡고 있는 상태에서 playSound함수를 계속 사용하면 메모리에 쌓여버려서 위와 같은 에러가 보이게 된다. 그래서 Loop함수를 사용하.. 더보기
[ Android ] 어플리케이션 꺠끗하게 종료하는 법. // 어플리케이션과 모든 프로세스를 종료하는 함수 public void close() { finish(); int nSDKVersion = Integer.parseInt(Build.VERSION.SDK); if(nSDKVersion < 8) //2.1이하 { ActivityManager actMng = (ActivityManager)getSystemService(ACTIVITY_SERVICE); actMng.restartPackage(getPackageName()); } else { new Thread(new Runnable() { public void run() { ActivityManager actMng = (ActivityManager)getSystemService(ACTIVITY_SERVICE);.. 더보기
[ Android ] SoundPool 시작 및 정지 어플리케이션으로 배경을 깔기 위해 음악실행을 알아보는 중에 SoundPool이라는 클래스에 대해 알게 되었습니다. 우선, 저의 가장 큰 목적은! 어플리케이션이 돌아가는 동안 음악 소리가 계속 나야 한다는 것이다. 그래서 SoundPool 클래스를 static 변수로 만들어서 초기화는 첫번째 Activity에서 해주고 모든 제어는 이 클래스 변수 하나만 가지고 조절하는 쪽으로 했다. public static SoundManager soundManager; public static int musicStreamId; @Override protected void onCreate(Bundle pSavedInstanceState) { // 배경 음악 셋팅 if(soundManager == null){ soundMa.. 더보기
[ Android : AndEngine ] 텍스쳐 깨짐 현상. Texture windBright_Tx = new Texture(256,256,TextureOptions.BILINEAR_PREMULTIPLYALPHA); 확대 하거나 회전을 할 때, 이미지가 깨지는 것을 종종 볼 수 있다. 텍스쳐에 위와 같은 옵션을 줄 경우, 어느정도 무마되어진다. 참고하세요^^ 더보기
[ Android ] 어플리케이션 종료 출처: http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110082677696&parentCategoryNo=18&viewDate=¤tPage=1&listtype=0 현재까지 진행 중이던 모든 프로세스나 Activity를 죽이는 방법이라네요^^ 1.메니페스트 파일에 RESTART_PACKAGES 권한을 사용한다고 선언한다. 2.ActivityManager 의 restartPackage API 를 호출한다. ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE); am.restartPackage(getPackageName()); [출처] 안드로이드 어플리케이션 Process.. 더보기
[ Android : java ] 랜덤한 정수 얻기 먼저, 이 소스도 구글링으로 얻었지만, 오래 전에 본 거라 사이트를 잊어버렸습니다. 정말 죄송하다는 말씀과 함께 소스를 공개합니다.^^;; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub for(int i = 0 ; i < 100 ; i++){ System.out.println(getRandomIntNum(1,10)); } } private static int getRandomIntNum(int min, int max){ Double randomNum = ( Math.random() * (max - min + 1) ) + min ; return .. 더보기
[Android : AndEngine ] 엔진 사용 시 Activity간의 관계 기본적으로 Android에서는 OnResume이나 OnPause 그리고 필요한 경우 OnStart와 OnDestory 등등을 사용합니다. 그 중에서 제가 가장 많이 사용하는 함수가 OnResume인데요. 바로 다시 Activity로 돌아왔을 때 화면을 갱신하기 위해서 입니다. 하지만, AndEngine을 써보니 OnLoadResource같은 함수들은 제 호출이 되지 않더군요. OnResume에서 억지로 줘도 OnDrawFrame같은 함수가 불러지지 않아 그림이 갱신이 되지 않습니다. 그래서 좋은 아이디어!!! Activity를 이동할 때 마다 그 다음 Activity를 실행 나서, 기존의 Activity를 삭제하는 방향으로 가는 겁니다. 그럼 다시 그려지게 되므로 갱신할 필요가 없게 되는 것이지요. 기존.. 더보기
[ Android ] Thumnails를 사용 시 메모리 오류. GridView를 이용하여 갤러리에 있는 이미지를 가져올 때 , Thumnails를 자주 사용하는데요. 용량도 적을 뿐더러, 알아서 알맞게 짤라주는 구글의 센스??ㅋㅋ 우선 제가 사용한 방법은 다음과 같습니다. GridView에서 사용하는 BaseAdapter 안에 존재하는 getView 속! public View getView(final int position, View convertView, ViewGroup parent) { RelativeLayout img_template = null; ImageView imgView = null; CheckBox cbCheck = null; Long id = mImgList.get(position); if( convertView == null){ // 기본 레이.. 더보기