飞飞的AI实验室

用AI放大灵感,把想法变成作品。

分析 Android 使用 Fragment 时报 java.lang.IllegalStateException commit already called 的原因,根源是把 Fragment 事务定义成全局变量重复 commit,解决办法是每次提交都获取新的局部事务再 commit。

阅读全文 »

梳理 Java 内存管理与垃圾回收机制,依据《Java虚拟机规范》介绍堆、虚拟机栈、栈帧与方法区的职责划分,并说明 GC 由 JVM 低优先级线程自动执行,System.gc() 只能建议而无法强制立即回收。

阅读全文 »

用 Java 实现输入年月日计算该日期是当年第几天,思路是利用 switch 穿透从大月份向前累加天数,按 1、3、5、7、8、10、12 月 31 天并结合闰年判断 2 月取 28 或 29 天,附完整可运行代码。

阅读全文 »

讲解 Java 中 == 运算符与 equals 方法的区别,== 对基本类型比较值、对引用类型比较地址,未重写的 equals 等价于 ==,而 String 与包装类已重写为比较内容,并用字符串常量池示例说明两者结果差异。

阅读全文 »

通过十万次循环实测 Java 基本数据类型转 String 的三种方式,结论是 toString() 最快、String.valueOf() 与之接近、加空字符串拼接最慢,但差距都在毫秒级,实际开发中对用户几乎无感知。

阅读全文 »

总结 Android ListView 分割线的设置方法,用 divider 属性控制颜色、dividerHeight 控制高度,去掉分割线可在代码中 setDivider(null) 或在布局里把 divider 设为 @null,透明色方案仅是隐藏且仍占高度。

阅读全文 »

深入浅出 Retrofit2 系列首篇,介绍 Retrofit 对 okhttp 的封装关系,演示用 @GET 与 @Path 注解定义接口、构建 Retrofit 对象发起同步异步请求,并讲解 create() 背后的动态代理原理与 Gson 等七种转换器。

阅读全文 »

深入浅出 Retrofit2 系列第二篇,讲解 POST 请求的多种用法,包括 @FormUrlEncoded 配合 @Field、@FieldMap 提交表单,@Body 提交 Json 与 RequestBody,并给出封装 GET、POST、文件上传下载的通用 ApiService 接口示例。

阅读全文 »

介绍 Windows 10 不重装系统的磁盘分区方法,用 Win+X 打开磁盘管理,先压缩卷腾出空白空间再新建逻辑分区,原有资料不会丢失,并给出 C 盘装系统、D 盘装软件、E 盘放资料、F 盘娱乐的四分区方案。

阅读全文 »
0%