Android开发之路--1

1.Android 9之后 网络请求需要加载适配文件:

network_security_config.xml:

<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" overridePins="true" />
            <certificates src="user" overridePins="true" />
        </trust-anchors>
    </base-config>
</network-security-config>

在应用配置文件.xml中 Application中配置:

android:networkSecurityConfig="@xml/network_security_config"

加载配置文件即可

2.解决Handler内存溢出问题创建静态并且继承Handler的类,使用WeakReference弱引用加载activity在其中使用handler的各种功能

//防止Handler内存溢出 创建静态继承Handler子类
    static class MyHandler extends Handler {
        private WeakReference<MainActivity> wr;
        public MyHandler(MainActivity ma){
            wr = new WeakReference<MainActivity>(ma);
        }

        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            if(msg.what == 1) {
                wr.get().img.setVisibility(View.GONE);
                wr.get().txt.setText("打到了" + wr.get().numberClick + "只,共10只");

            }else if(msg.what == 2) {
                wr.get().img.setVisibility(View.VISIBLE);
            }else if(msg.what == 3) {
                wr.get().flag = false;
                wr.get().btn.setText("开始");
                wr.get().txt.setText("点击开始吧....");
                wr.get().img.setVisibility(View.GONE);
                wr.get().numberClick = 0;
            }
        }
    }

3.runOnUiThread 重写run方法 可以在子线程中使用在主线程中更新UI界面

猜你喜欢

转载自blog.csdn.net/z1455841095/article/details/106254753