�{�A�ڂł́A�o�[�W�����̈Ⴂ�ɍ��E����Ȃ��X�^���_�[�h�ȃA�[�L�e�N�`���Ŏ��Ɩ��Ŏg����Android�A�v���J���̃m�E�n�E����Ă����܂��B����́AAndroid�A�v���̃������Ǘ��Ɋւ��āAJava�Ƃ͂ǂ̂悤�ȋ����̈Ⴂ������̂����T���v���A�v����ʂ��ĉ�����Ă����܂��B
�@�{�A�ځu���Ɩ��ł����Ǝg����Android�A�v���J�������v�ł́A�o�[�W�����̈Ⴂ�ɍ��E����Ȃ��X�^���_�[�h�ȃA�[�L�e�N�`���ŁA�Z�L�����e�B��p�[�~�b�V�����A�e�X�g�̂��₷���A�J�������̌���Ȃǂ��l�������A���Ɩ��Ŏg����Android�A�v���J���̃m�E�n�E����Ă����܂��B�O��́u�m�炸�ɍ���đ��v�HAndroid�̊�{�I�ȃ��C�t�T�C�N���C�x���g31�I�v�ł́AAndroid�A�v���J���ɂ����ĕK���������Ă����Ȃ���Ȃ�Ȃ����C�t�T�C�N���C�x���g�ɂ��ĉ�����܂����B����́AAndroid�A�v���̃������Ǘ��Ɋւ��钍�ӎ����Ɋւ��ĉ�����܂��B
�@Java�ł́u�펯�v�Ƃ���鋓�����AAndroid�ł͂����͂����Ȃ��ꍇ������܂��BJava�Ƃ͈قȂ�v�v�z�ɂ��AJava�̂悤�ȓ�������҂���Ǝv��ʃo�O�ƂȂ�\��������̂ł��BAndroid�̐v�v�z�Ƃ͂ǂ̂悤�Ȃ��̂��B����ɂ����Java�Ƃ͂ǂ̂悤�ȋ����̈Ⴂ��������̂��Ɋւ��āA�T���v���A�v����ʂ��ĉ�����Ă����܂��B
�@����̃T���v���A�v���͈ȉ����_�E�����[�h���Ă��������B
�@�\�[�X�R�[�h�͈ȉ��̃��|�W�g������N���[�����Ă��������B
�@����́uNo03a�v�uNo03b�v�Ƀv���W�F�N�g���R�~�b�g����Ă��܂��B���ꂼ�ꂪ�ȉ��̖����������Ă��܂��B
�@No03a�̓o�b�N�O���E���h�v���Z�X�������I��������A�v���ł��B���̃A�v����No03b�������I�������܂��BNo03b�͋����I������鑤�ŁA�ǂ̂悤�Ɏ�������ΐ������ۂĂ邩��������A�v���ł��BNo03a�́A��}������Ε�����ʂ�ANo03b�ȊO�̃A�v�����I��������̂ŁA�C�ɂȂ�A�v���̋����������Ɋm�F�ł��܂��B
���������A����̌��A�v���ł́A��q����v���Z�X�͎c���Ă���static�ϐ��͔j�������p�^�[���͊m�F�ł��܂���B
�@PC���Java�A�v���́A�ȉ��̂悤�ɋN���^�I�����܂��B
�@�����ŏd�v�Ȃ̂́A�uJava�A�v��1�ɑ�Java VM��1�N������邱�Ɓv�u�A�v���I�����ɂ�Java VM���I�����邱�Ɓv�ł��B
�@����ŁAAndroid��̃A�v���͈ȉ��̂悤�ɋN���^�I�����܂��B
�@�uZygote�v�Ƃ����͕̂�������Ȃ��P�ꂩ������܂���B�����w�Łu�ڍ��q�v�Ƃ����Ӗ��������AAndroid�ł͑S�ẴA�v���v���Z�X�̐e�v���Z�X�ɓ�����܂��B�O�q��ActivityManager��Zygote����t�H�[�N����Ă��܂��B
�@Zygote�Ƃ����e�v���Z�X����q�v���Z�X���t�H�[�N�����Android�̃��f���̉����ǂ����ƌ����ƁA1�́u�S�ẴA�v���ŋ��ʂ̃N���X���C�u���������������ꂽ��Ԃ���t�H�[�N�����v�܂�u�A�v���̋N���������v�Ƃ������Ƃł��B����1�́u�S�Ă̎q�v���Z�X�Őe�v���Z�X�̃�������Ԃ����L�ł���v�܂�u�ȃ������ł���v�Ƃ����_�ł��B����ꂽ���\�[�X���ł�������̃A�v�����N������K�v������X�}�[�g�t�H������OS�Ƃ��āA�ǂ��l����ꂽ�v�ɂȂ��Ă��܂��B
�@�Ȃ��AAndroid�ł͂Ȃ��g�ݍ���Java�ł́uOSGi�v�Ƃ����t���[�����[�N���g�p���āAAndroid�̂悤�ȍ����N���A�ȃ��������������Ă��܂��BOSGi�͑g�ݍ��݈ȊO�̗p�r�ł����p����Ă��āA�L���Ȃ̂�Eclipse�ł��傤���BOSGi�ɋ����̂������ �L���uEclipse��Spring�Ŏg���Ă����ՋZ�pOSGi�Ƃ��v���Q�Ƃ��Ă݂Ă��������B
�@�O�͂ŋL�ڂ����悤�ɁAAndroid�͌���ꂽ���\�[�X���ł�������̃A�v�����ɋN���ł���悤�ɂȂ��Ă��܂��B�����A�Ȃ��Ă͂��܂����A����ł����x�͂���܂��B�{�͂ł́uAndroid�ł́A�A�v�����s���Ƀ�����������Ȃ��Ȃ����ꍇ�A�ǂ̂悤�Ȃ��Ƃ��N����̂��v��������Ă����܂��B
�@�A�v�����o�b�N�O���E���h���ɑ��̃A�v������������v�������ꍇ�A�������̒i�K��ŋ��������m�ۂ��܂��B
�@��q�̃������J���v����onLowMemory()��onTrimMemory(int)�́A�f�t�H���g��Fragment���J�����铮��ɂȂ�܂��B�A�v���ɊJ���\�ȃ�����������A����烁�\�b�h���R�[���o�b�N���ꂽ�^�C�~���O�ŊJ�����Ă������̂ł����A�m�ۂ���Ă���s�v�ȃ������Ȃ�ĂȂ����낤����A�����J�����ׂ�������Ƃ���ł��B�A�v���Ƃ��ẮA�{���ł����Fragment�ł����蒼���K�v�����邽�ߊJ�����ꂽ���͂Ȃ��̂ł�����B
�@Activity�́AnoHistory������t�^���Ă��Ȃ��ꍇ�A�uRecent App�v�Ɉꗗ�Ƃ��Č���܂��B���̈ꗗ�ɂ���Activity�́AonStop()�̏�Ԃ̂��̂�����AonDestory()�܂Ŏ��s����Ă�����̂�����A�����ڂł͂ǂ��炩���f�ł��܂���B�ꗗ����C�ӂ�Activity��I������ƁAonStop()��Ԃ̂��̂ł���AonRestart()���o�R����onStart()�AonResume()�Ə�Ԃ��J�ڂ��܂��BonDestroy()�܂Ŏ��s�ς݂̂��̂́A�V����Activity��onCreate()����Ăяo����A������savedInstanceState�ɕۑ�������Ԃ��n����ė���̂ŁA�������ɕ������܂��B
�@����̉���̍ł��d�v�ȃ|�C���g�ɐi�ޑO�ɁAAndroid�A�v���ɂ����郁�����̃C���[�W���������Ă����܂��B
�@��}��Android�A�v���̃q�[�v���ŁA�u���v�̓I�u�W�F�N�g���ƍl���Ă��������B�I�u�W�F�N�g�̓I�u�W�F�N�g�̎Q�Ƃ������A���̎Q�Ƃ���}�ł͐��ŕ\���Ă��܂��B�I�u�W�F�N�g�̎Q�ƃc���[�ɂ́A�uActivity�v���N�_�Ƃ���c���[�A�uApplication�v���N�_�Ƃ���c���[�A�uOthers�v�ɕ������܂��BOthers�́A�����ł�static�ϐ����ƍl���Ă��������B
�@��}��Activity�̓^�X�N�AApplication�̓v���Z�X�Ɋ֘A�t�����Ă���ƍl���Ă���肠��܂���B
�@Activity#onDestroy()���Ăяo�����ƁAActivity���N�_�Ƃ���Q�ƃc���[�͔j������܂��B����͖��Ȃ��Ǝv���܂��B���̍ہAApplication�̎Q�ƃc���[��Others�̓q�[�v�Ɏc�����܂܂Ȃ̂ŁAActivity�̕����������Ȃ��O�̏�Ԃɖ߂����Ƃ��ł��܂��B
�@�A�v�����o�b�N�O���E���h���ɃA�v���̃v���Z�X�j�����s����ƁAApplication�̎Q�ƃc���[�����ł͂Ȃ��A�q�[�v���̑S�ẴI�u�W�F�N�g���j������܂��B���̏�Ԃ�Recent App�ꗗ����Activity������ƁAApplication����ɐ�������A���̌�Activity#onCreate()���Ăяo����܂��B���������Activity���炷��ƁAApplication�̎Q�ƃc���[���AOthers��static�ϐ����A�����O�Ə�Ԃ��قȂ邽�߁A���̓_�ɒ��ӂ��ď�ԕ�������K�v������܂��B
�@�����čł����ӂ��Ȃ���Ȃ�Ȃ��̂́A�u�������g�p�ɂ���Ă�Application�̎Q�ƃc���[�����c��AActivity�̎Q�ƃc���[��Others��static�ϐ��͊J�����ꂽ��Ԃɂ��Ȃ蓾��v�Ƃ����_�ł��Bstatic�ϐ���Singleton�p�^�[������������ۂɎg�p���܂����A�ȉ��̂悤�Ɏ������邱�Ƃ������Ǝv���܂��i����̃T���v���A�v�����甲���j�B
public class NormalSingleton { private static final NormalSingleton sInstance = new NormalSingleton(); private final long mCreateTimestamp; private NormalSingleton() { mCreateTimestamp = System.currentTimeMillis(); } public static NormalSingleton getInstance() { return sInstance; } @Override public String toString() { String time = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS", Locale.getDefault()).format(new Date(mCreateTimestamp)); return getClass().getSimpleName() + ": " + time; } }
�@���̂悤�ɍ����NormalSingleton�́AJava�ł���A�A�v�����I������܂�sInstance�͓����C���X�^���X�ł���AtoString()���Ԃ��l�͏�ɓ������Ƃ��ۏ���܂����AAndroid�ł͕ۏ���܂���B�A�v���v���Z�X���N�����Astatic�ϐ��͊J�������\�������邽�߁A����Singleton�p�^�[����Java�Ɠ����悤�ɍ���Ă͂����܂���B���͂ʼn�����܂��B
�@����܂ł��܂Ƃ߂܂��B
Copyright © ITmedia, Inc. All Rights Reserved.