Java�ł̏펯���ʗp���Ȃ�Android�ɂ����郁�����Ǘ��̒��ӓ_�F���Ɩ��ł����Ǝg����Android�A�v���J������i3�j�i1/2 �y�[�W�j

�{�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

» 2016�N11��25�� 05��00�� ���J
[�������C������Ђ�߂�]

Android�̐݌v�v�z�Ƃ͂ǂ̂悤�Ȃ��̂�

�@�{�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

�@����̃T���v���A�v���͈ȉ����_�E�����[�h���Ă��������B

�T���v���A�v���̃\�[�X�R�[�h

�@�\�[�X�R�[�h�͈ȉ��̃��|�W�g������N���[�����Ă��������B

�@����́uNo03a�v�uNo03b�v�Ƀv���W�F�N�g���R�~�b�g����Ă��܂��B���ꂼ�ꂪ�ȉ��̖����������Ă��܂��B

�T���v���A�v���̊T�v

No03a�i���j��No03b�i�E�j

�@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

�N���^�I�����f���ɂ�����Java�A�v����Android�A�v���̈Ⴂ

�@PC���Java�A�v���́A�ȉ��̂悤�ɋN���^�I�����܂��B

  1. Java VM���v���Z�X�Ƃ��ċN�������
  2. Java VM�ɓn���ꂽ���������߂���A�A�v�����N������
  3. �A�v�����I������ۂ�Java VM���A�v�����I��������

�@�����ŏ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

  1. �uZygote�v�Ƃ���VM�v���Z�X���N������
  2. �A�v����ActivityManager�o�R��Zygote�v���Z�X���t�H�[�N����N������
  3. �A�v���I������VM��v���Z�X���I�������Ȃ�

�@�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

Android�̃������Ǘ����f��

�@�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

  1. �������J���v���FActivity#onLowMemory()�AActivity#onTrimMemory(int)���Ăяo����A�o�b�N�O���E���h�v���Z�X�ɑ΂��ă������J����v������
  2. Activity�j���v���FActivity#onDestroy()���Ăяo����AActivity���������ォ��Ȃ��Ȃ�B�������AActivity#onSaveInstanceState(Bundle)�����O�ɌĂяo����A�K�v�ȏ�Ԃ͕ۑ������
  3. �v���Z�X�j���v���Fandroid.os.Process#killProcess(int)�Ńv���Z�X���I�������B���̏ꍇ�A���s����Activity�͏I�����邪onDestrory()�͌Ăяo����Ȃ��B�A�v����onStop()�Œ�~���Ă����Ԃł���΁AonSaveInstanceState(Bundle)�͌Ăяo���ꂽ��ƂȂ邽�߁AActivity�̏�ԕ����͍s����

�@��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

  1. Android�A�v���̃������́A�傫��3��AActivity���N�_�̎Q�ƃc���[�AApplication���N�_�̎Q�ƃc���[�A���̂ǂ���ł��Ȃ����́i�����ł�static�ϐ��Ƃ��܂��j�ɕ��ނł���
  2. Android�̃V�X�e���ɂ���ĊJ������郁�����́A�ȉ��̑g�ݍ��킹������
    • Activity�̎Q�ƃc���[����
    • Activity�̎Q�ƃc���[�Ƃ��̑�
    • Activity�̎Q�ƃc���[��Application�̎Q�ƃc���[�Ƃ��̑��i�‚܂�S�āj
  3. static�ϐ����J������邱�Ƃ�����_�ɒ��ӂ��K�v
�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B