<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[vae260772的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/vae260772</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; vae260772]]></copyright><item><title><![CDATA[activity android12全屏]]></title><link>https://blog.csdn.net/vae260772/article/details/131246995</link><guid>https://blog.csdn.net/vae260772/article/details/131246995</guid><author>vae260772</author><pubDate>Fri, 16 Jun 2023 14:56:05 +0800</pubDate><description><![CDATA[关键：LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES。//设置应用全屏,必须写在setContentView方法前面！否则会出现状态栏黑条，占用空间问题。]]></description><category></category></item><item><title><![CDATA[flutter项目常用组件]]></title><link>https://blog.csdn.net/vae260772/article/details/125621400</link><guid>https://blog.csdn.net/vae260772/article/details/125621400</guid><author>vae260772</author><pubDate>Tue, 05 Jul 2022 15:48:09 +0800</pubDate><description><![CDATA[项目用到的组件]]></description><category></category></item><item><title><![CDATA[flutter库]]></title><link>https://blog.csdn.net/vae260772/article/details/125621332</link><guid>https://blog.csdn.net/vae260772/article/details/125621332</guid><author>vae260772</author><pubDate>Tue, 05 Jul 2022 15:43:17 +0800</pubDate><description><![CDATA[flutter 常用库]]></description><category></category></item><item><title><![CDATA[Java并发基础知识]]></title><link>https://blog.csdn.net/vae260772/article/details/124918709</link><guid>https://blog.csdn.net/vae260772/article/details/124918709</guid><author>vae260772</author><pubDate>Sun, 22 May 2022 23:25:39 +0800</pubDate><description><![CDATA[Java并发基础知识]]></description><category></category></item><item><title><![CDATA[协程测试demo]]></title><link>https://blog.csdn.net/vae260772/article/details/124863595</link><guid>https://blog.csdn.net/vae260772/article/details/124863595</guid><author>vae260772</author><pubDate>Thu, 19 May 2022 15:30:38 +0800</pubDate><description><![CDATA[fun main() {
    println("1start----------" + Thread.currentThread())
    runBlocking() {
        println("2runBlocking----------" + Thread.currentThread())
        println("3runBlocking----------this.toString()=" + this.toString())

        this.launch {
]]></description><category></category></item><item><title><![CDATA[android面试总结]]></title><link>https://blog.csdn.net/vae260772/article/details/124810328</link><guid>https://blog.csdn.net/vae260772/article/details/124810328</guid><author>vae260772</author><pubDate>Tue, 17 May 2022 00:48:12 +0800</pubDate><description><![CDATA[java
面向对象
object
基本数据类型
int short long
double float
boolean
char
byte
继承extends
单继承
接口 interface
多实现
抽象  abstract
泛型
泛型方法 &lt;&gt;方法
泛型变量 T t，E t ，K k
返回值类型是一个泛型
集合
map
abstractmap、hashmap、sortedmap/treemap、Linkedmap
hashtable
set
hashset、treeset
栈stack先进后]]></description><category></category></item><item><title><![CDATA[面试知识点总结]]></title><link>https://blog.csdn.net/vae260772/article/details/124801044</link><guid>https://blog.csdn.net/vae260772/article/details/124801044</guid><author>vae260772</author><pubDate>Mon, 16 May 2022 15:37:08 +0800</pubDate><description><![CDATA[java
android
kotlin
flutter

]]></description><category></category></item><item><title><![CDATA[驾考题库项目学习记录]]></title><link>https://blog.csdn.net/vae260772/article/details/123374124</link><guid>https://blog.csdn.net/vae260772/article/details/123374124</guid><author>vae260772</author><pubDate>Wed, 09 Mar 2022 12:02:40 +0800</pubDate><description><![CDATA[驾考题库]]></description><category></category></item><item><title><![CDATA[flutter 常用库总结]]></title><link>https://blog.csdn.net/vae260772/article/details/123126860</link><guid>https://blog.csdn.net/vae260772/article/details/123126860</guid><author>vae260772</author><pubDate>Fri, 25 Feb 2022 11:18:50 +0800</pubDate><description><![CDATA[cupertino_icons: ^1.0.2
路由管理
fluro: ^2.0.3
https://www.jianshu.com/p/e575787d173c
https://www.jianshu.com/p/ec72e9828fa1
flutter 常用工具类 https://pub.flutter-io.cn/packages/flustars
flustars: ^2.0.1
https://gitee.com/wjyefeng/flutter_flustars
https://www.jian]]></description><category></category></item><item><title><![CDATA[flutter学习记录]]></title><link>https://blog.csdn.net/vae260772/article/details/123116952</link><guid>https://blog.csdn.net/vae260772/article/details/123116952</guid><author>vae260772</author><pubDate>Thu, 24 Feb 2022 17:33:39 +0800</pubDate><description><![CDATA[flutter]]></description><category></category></item><item><title><![CDATA[记一次android任务栈页面跳转问题]]></title><link>https://blog.csdn.net/vae260772/article/details/120933307</link><guid>https://blog.csdn.net/vae260772/article/details/120933307</guid><author>vae260772</author><pubDate>Sun, 24 Oct 2021 14:33:22 +0800</pubDate><description><![CDATA[问题描述：
应用需求首次打开app，进入SplashActivity页面，如果支持一键登录功能，
直接跳转到闪验sdk（创蓝闪验集成三网运营商）一键登录页面，该sdk中页面只支持代码定制UI以及接口返回控制，有点坑。当进入一键登录页面，切换到app的账号密码登录页面，使用账号密码登录成功跳转到app首页之后，连续按2次返回键，finish掉当前主页，app回到桌面，这个时候如果从近期任务进入app，发现没有进入splash页面-判断token有效-静默成功登录到主页，而是直接进入了账号密码登录页面，匪夷所思]]></description><category></category></item><item><title><![CDATA[java多线程访问成员变量问题]]></title><link>https://blog.csdn.net/vae260772/article/details/109131758</link><guid>https://blog.csdn.net/vae260772/article/details/109131758</guid><author>vae260772</author><pubDate>Sat, 17 Oct 2020 14:12:59 +0800</pubDate><description><![CDATA[局部变量：一般指方法参数，或者方法中定义的变量
成员变量：class类对象具备的对象，比如student类，有name、age、sex、各类学科的分数score等，属于个人的信息。
多个线程访问成员变量，可能出现线程1修改了成员变量，线程2也修改了成员变量，但是线程2修改后的值不生效，和线程1的值一样，存在执行时序先后顺序，导致返回值错误，不是自己想要的。
生
神奇的打印，for循环中主线程延迟打印，数据一样的，只会打印2次。

多个子线程方式：

handle做个优化处理：





postdelay，]]></description><category></category></item><item><title><![CDATA[android surfaceview学习（一）]]></title><link>https://blog.csdn.net/vae260772/article/details/108860724</link><guid>https://blog.csdn.net/vae260772/article/details/108860724</guid><author>vae260772</author><pubDate>Tue, 29 Sep 2020 00:43:07 +0800</pubDate><description><![CDATA[package com.example.myapplication.videoplayer;
import android.Manifest;
import android.content.pm.PackageManager;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Environment;
import android.v]]></description><category></category></item><item><title><![CDATA[recycleview  的 ItemView常用验证]]></title><link>https://blog.csdn.net/vae260772/article/details/77489252</link><guid>https://blog.csdn.net/vae260772/article/details/77489252</guid><author>vae260772</author><pubDate>Tue, 22 Aug 2017 23:29:22 +0800</pubDate><description><![CDATA[引用：
dependencies {
...
    compile 'com.android.support:recyclerview-v7:25.3.1'
}代码： 
1、item布局<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr]]></description><category></category></item><item><title><![CDATA[android  版本对应源码]]></title><link>https://blog.csdn.net/vae260772/article/details/77145692</link><guid>https://blog.csdn.net/vae260772/article/details/77145692</guid><author>vae260772</author><pubDate>Sun, 13 Aug 2017 16:03:04 +0800</pubDate><description><![CDATA[D:\AndroidStudio\sdk\sources\android-25\android\os\Build.java/*
 * Copyright (C) 2007 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may no]]></description><category></category></item><item><title><![CDATA[popwindow点击之后计算高度]]></title><link>https://blog.csdn.net/vae260772/article/details/77097404</link><guid>https://blog.csdn.net/vae260772/article/details/77097404</guid><author>vae260772</author><pubDate>Fri, 11 Aug 2017 14:42:28 +0800</pubDate><description><![CDATA[private void showPopupWindow(View view) {
        View contentView = LayoutInflater.from(getContext()).inflate(
                R.layout.popupwindow_introduction, null);
        //收益方式描述
        TextV...]]></description><category></category></item><item><title><![CDATA[android drawable下自定义的xml文件各种形式汇总]]></title><link>https://blog.csdn.net/vae260772/article/details/77096150</link><guid>https://blog.csdn.net/vae260772/article/details/77096150</guid><author>vae260772</author><pubDate>Fri, 11 Aug 2017 12:42:57 +0800</pubDate><description><![CDATA[1、我们需要画一个小圆圈shape=”oval” <?xml version="1.0" encoding="utf-8"?>
<shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">    <solid android:color="@color/colorPrimary" />]]></description><category></category></item><item><title><![CDATA[CheckedTextView 使用]]></title><link>https://blog.csdn.net/vae260772/article/details/77089759</link><guid>https://blog.csdn.net/vae260772/article/details/77089759</guid><author>vae260772</author><pubDate>Fri, 11 Aug 2017 10:23:31 +0800</pubDate><description><![CDATA[CheckedTextView 类似checkbox，单选-多选。 
但它支持文字，名字可以看出它继承TextView ，多了一个选择勾选框。使用，选中未选中，使用checkedTextView.toggle();    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(sav]]></description><category></category></item><item><title><![CDATA[杰克沃顿大神的 rxbinding框架]]></title><link>https://blog.csdn.net/vae260772/article/details/76922080</link><guid>https://blog.csdn.net/vae260772/article/details/76922080</guid><author>vae260772</author><pubDate>Tue, 08 Aug 2017 17:32:58 +0800</pubDate><description><![CDATA[//rxbinding
    compile "com.jakewharton.rxbinding:rxbinding:${libs.rxbinding}"
    compile "com.jakewharton.rxbinding:rxbinding-support-v4:${libs.rxbinding}"
    compile "com.jakewharton.rxbinding:rxb]]></description><category></category></item><item><title><![CDATA[项目rxjava+rxandroid学习]]></title><link>https://blog.csdn.net/vae260772/article/details/76691578</link><guid>https://blog.csdn.net/vae260772/article/details/76691578</guid><author>vae260772</author><pubDate>Fri, 04 Aug 2017 18:37:43 +0800</pubDate><description><![CDATA[1、写法1/**
         * 打印helloworld，使用被观察者和订阅者
         * 被观察者发出事件信息
         * 订阅者处理事件
         */
        Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>() {]]></description><category></category></item></channel></rss>