Skip to content

Dboy233/LifecycleCoroutines

Repository files navigation

LifecycleCoroutines

Half line of code to get coroutine life cycle recycling,When the Activity executes On Destroy, the coroutine is automatically canceled!

Using extension functions to achieve life cycle binding does not affect the code structure.

HOW TO USE

PasteLifecycleCorutines.kt Into your project。
launch use
GlobalScope.launch(Dispatchers.IO){
    
}.lifeRecycle(lifecycle) <<<<it's here
async use
GlobalScope.async(Dispatchers.IO){

}.lifeRecycle(lifecycle) <<<<it's here
runBlocking use
runBlocking(Dispatchers.IO) {
	lifeRecycle(lifecycle) <<<<it's here
}
withContext use
withContext(Dispatchers.Main){
	lifeRecycle(lifecycle) <<<<it's here
}
Examples of use
//This is a network request
GlobalScope.launch(Dispatchers.IO) {
            //Simulation timeout
            delay(2000)
            //Internet request. Friends who will not use coroutine + Retrofit can search related articles to learn
            val response = TestNet.retrofit.create(TestApi::class.java).test()
            //End of request
            Log.d("MainActivity", "job Response" + response.body()?.toString())
            //Update UI
            withContext(Dispatchers.Main) {
                Toast.makeText(baseContext, "network job success!", Toast.LENGTH_SHORT).show()
            }
            Log.d("MainActivity", "job end")
        }
            .lifeRecycle(lifecycle) 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published