android activity - एप्लिकेशन की ऑनक्रेट() विधि कब कॉल की जाती है?




android-activity oncreate (2)

केवल पहली बार।

जब गतिविधि शुरू होती है और एप्लिकेशन लोड नहीं होता है, तो दोनों onCreate() विधियों को बुलाया जाएगा।

लेकिन गतिविधि के बाद की शुरुआत के लिए, आवेदन के onCreate() को कॉल नहीं किया जाएगा।

मेरे एंड्रॉइड एप्लिकेशन में, मेरे पास एक DefaultApplication ऐप्लिकेशंस क्लास है जो एंड्रॉइड.एप.एपप्लिकेशंस को बढ़ाती है, और इसके onCreate() मैं कुछ सेवाओं को बांधता हूं जिनका उपयोग इस ऐप में मेरी अन्य गतिविधियों द्वारा किया जाएगा।

इसके अलावा मेरे पास BroadcastReceiver रिसीवर है जो सी 2 डीएम संदेश सुनता है और प्राप्त करता है। जब यह रिसीवर एक संदेश प्राप्त करता है जब एप्लिकेशन नहीं चल रहा है, तो यह एक संवाद को फायर करेगा जो आगामी संदेश दिखाता है और यह मेरे आवेदन की गतिविधि शुरू करेगा।

मेरा सवाल यह है कि, जब मैं onCreate() ऐप्लिकेशंस के साथ किसी भी बातचीत के बिना गतिविधि शुरू करता हूं, तो क्या मेरा DefaultApplication ऐप्लिकेशंस onCreate() को कॉल किया जाएगा क्योंकि उस एप्लिकेशन की गतिविधि शुरू हो गई है?

मेरे DefaultApplication की परिभाषा और अभिव्यक्ति यहां दी गई है:

public class DefaultApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        doBindService();

    }

    void doBindService() {

        // Establish a connection with the service. We use an explicit
        // class name because we want a specific service implementation that
        // we know will be running in our own process (and thus won't be
        // supporting component replacement by other applications).

        bindService(new Intent(DefaultApplication.this, SocketService.class),
                socketServiceConnection, Context.BIND_AUTO_CREATE);

        mIsBound = true;
    }

    void doUnbindService() {
        if (mIsBound) {
            // Detach our existing connection.
            unbindService(socketServiceConnection);
            mIsBound = false;
        }
    }
}

प्रकट इस तरह दिखता है:

<application android:icon="@drawable/icon" android:label="@string/app_name"
        android:name="com.mypackage.DefaultApplication"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:debuggable="true">
<service android:name="com.mypackage.services.SocketService"></service>
<activity android:name="TestActivity"
            android:screenOrientation="landscape"></activity>
</application>

जब onCreate को here कॉल किया जाता है तो आप एक आधिकारिक उत्तर पा सकते हैं।

किसी भी गतिविधि, सेवा, या रिसीवर ऑब्जेक्ट्स (सामग्री प्रदाताओं को छोड़कर) से पहले, एप्लिकेशन शुरू होने पर कॉल किया गया है। कार्यान्वयन जितना जल्दी हो सके (उदाहरण के लिए राज्य के आलसी प्रारंभिकरण का उपयोग करना) क्योंकि इस समारोह में बिताए गए समय से प्रक्रिया में पहली गतिविधि, सेवा या रिसीवर शुरू करने के प्रदर्शन पर सीधे प्रभाव पड़ता है। यदि आप इस विधि को ओवरराइड करते हैं, तो Super.onCreate () को कॉल करना सुनिश्चित करें।







android