本发明涉及软件,特别涉及android中toast控件优化的方法。
背景技术:
1、在android开发中,经常会使用toast控件进行弹窗提示,现有的toast控件在主线程中执行不会有问题,但在子线程中执行时可能会导致程序崩溃,不能正常弹出窗口,在实际开发过程中,非常容易出现在子线程中需要调用toast的场景,现有的一种做法是:将toast指令发送到主线程中执行,但该方法需要开发者保持注意,且部分情况开发者容易出现遗漏,进而导致应用程序崩溃问题;另一种做法是:对toast类进行包装,形成工具类,每次调用toast控件都通过工具类访问,通过工具类直接将调用发送到主线程上执行,从而解决问题,但该种做法对于开发者来说代码侵入性太大,需要应用保证每次都是调用的工具类。
技术实现思路
1、本发明所解决的技术问题:提供一种android中toast控件优化的方法,解决现有技术在android开发中调用toast控件可能会导致程序崩溃的问题。
2、本发明解决上述技术问题采用的技术方案:android中toast控件优化的方法,包括以下步骤:
3、s01、找到android系统toast类,并找出其静态内部类tn的构造函数;
4、s02、在tn类的构造函数中,找到对looper判定的代码段;
5、s03、将所述代码段的逻辑修改为:若当前传入looper对象为空且当前线程的looper对象也为空,则通过looper.getmainlooper方法获取主线程的looper;
6、s04、编译android系统固件版本,使用所述固件版本生产或升级android设备。
7、进一步的,所述对looper判定的代码段位于对handler对象进行初始化之前。
8、本发明的有益效果:本发明android中toast控件优化的方法,通过将toast控件源码中的对looper的判定逻辑修改为:若当前传入looper对象为空且当前线程的looper对象也为空,则通过looper.getmainlooper方法获取主线程的looper;以此实现toast控件均在主线程中执行,解决了现有技术在android开发中调用toast控件可能会导致程序崩溃的问题,本发明相比于现有技术,能够让开发者在开发过程中调用toast控件时,无需关注当前代码执行所在的线程,且对toast控件使用无任何代码侵入性,可以提升开发效率,并减少开发的应用程序出现崩溃的概率。
1.android中toast控件优化的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的android中toast控件优化的方法,其特征在于,所述对looper判定的代码段位于对handler对象进行初始化之前。