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界面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章