自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 [译] 在 Android 上实现 Google Inbox 的样式动画

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。

2024-05-17 02:32:35 768

原创 Unity技术-模型规范

👉前提这篇是Unity性能优化系列的引申篇。一款3D的游戏,模型是无处不在的。前期如果不好好处理,后期再想优化模型,不仅可能影响整个项目组流程,就说做模型的你自己,那种抓狂的酸爽感也能让你崩溃。所以按照规范做,成为重中之重。👉实践过程开始之前,我们就要先了解模型制作流程:原画图纸-低模手绘-高模制作-拓扑低模-UV拆分-烘焙贴图-SP绘制材质-渲染。原画图纸:美术将模型简易素描和最终成画,以及模型分解全部绘制出来(概念图)低模手绘:建模人员根据图纸还原成3D模型,这时候一般是粗糙的。高模制作:对低模进行

2024-05-17 00:48:37 1013

原创 Redis精通系列——LFU算法详述(Least Frequently Used - 最不经常使用)(1)

UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能随便找到不错的工作了。不过很显然现在远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

2024-05-16 21:53:42 659

原创 LiveData的工作原理

public class UserProfileViewModel extends ViewModel {private String userId;private MutableLiveData user;private UserRepository userRepo;public void init(String userId) {this.userId = userId;userRepo = new UserRepository();user = userRepo.getUser(user

2024-05-16 17:18:50 323

原创 Kotlin协程

Element之间可以通过+号进行组合Element有如下四类,共同组成了CoroutineContextJob:协程的唯一标识,用来控制协程的生命周期(new、active、completing、completed、cancelling、cancelled)CoroutineDispatcher:指定协程运行的线程(IO、Default、Main、Unconfined)CoroutineName: 指定协程的名称,默认为coroutineCoroutineExceptionHandler: 指定协程的异常

2024-05-16 16:02:03 369

原创 Jetpack学习之 App Startup

这样就会出现一个问题,你两个清单文件都使用到了含有同一个 name 的标签,那么打包编译时肯定会出现问题,因为最终编译出来的 activity 的标签要是唯一的,这个地方就不知道使用哪一个。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

2024-05-16 14:45:19 403

原创 Hexo站点建设之——设置GIthub Actions 仓库变动站点自动更新

希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer!如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。

2024-05-16 13:05:54 378

原创 GitHub标星7-5K!Android-超级稳定且高效的UI适配方案【建议收藏】(1)

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-16 11:21:56 277

原创 Okhttp的缓存机制(1)

本人从事Android开发已经有十余年,算是一名资深的移动开发架构师了吧。根据我的观察发现,对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。所以在此将我十年载,从萌新小白一步步成长为Android移动开发架构师的学习笔记,从Android四大组件到手写实现一个架构设计,我都有一一的对应笔记为你讲解。当然我也为你们整理好了百度、阿里、腾讯、字节跳动等等互联网超级大厂的历年面试真题集锦。

2024-05-16 01:54:29 594

原创 Leetcode面T10(1-9)数组

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

2024-05-16 00:12:32 823

原创 Kotlin(3)-协程和操作符重载

协程作为kotlin 区别于java的新概念,它的出现是为了解决java不好解决的问题,比如层层回调导致代码臃肿,比如 异步任务执行流程不好操控等。本章节篇幅有限,无法展开说明,但是对于新手而言,看完本章应该能对协程的作用有一个大概的认知。本人也是初步研究,后续有更深入的了解之后,再进行专文讲解吧。

2024-05-15 23:03:30 906

原创 Hexo博客开发之——部署到Coding上(1)

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 18:54:13 265

原创 GitHub标星7-5K!Android-超级稳定且高效的UI适配方案【建议收藏】(1)

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 17:27:08 333

原创 Unity实战问题--Loading更好的实现方式(场景进度条问题) 转+原

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

2024-05-15 14:15:45 231

原创 Redis精通系列——LFU算法详述(Least Frequently Used - 最不经常使用)

总而言之,成功是留给准备好的人的。无论是参加什么面试,都要做好充足的准备,注意好面试的礼仪和穿着,向面试官表现出自己的热忱与真诚就好。即使最后没有过关,也要做好经验的总结,为下一次面试做好充足准备。这里我为大家准备了一些我在面试后整理的面试专题资料,除了面试题,还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料分享给大家,希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

2024-05-15 12:39:20 357

原创 OpenCV开发之——将官方示例迁移到项目上(1)

在这里小编整理了一份Android大厂常见面试题,和一些Android架构视频解析,都已整理成文档,全部都已打包好了,希望能够对大家有所帮助,在面试中能顺利通过。喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者转发支持一下呗《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!eateObject为例)**修改前/*I)J*/

2024-05-15 07:30:15 592

原创 LiveData+Retrofit 网络请求实战

代码真的是重质不重量,质量高的代码,是当前代码界提倡的,当然写出高质量的代码肯定需要一个相当高的专业素养,这需要在日常的代码书写中逐渐去吸收掌握,谁不是每天都在学习呀,目的还不是为了一个,为实现某个功能写出高质量的代码。所以,长征路还长,大家还是好好地做个务实的程序员吧。最后,小编这里有一系列Android提升学习资料,有兴趣的小伙伴们可以来看下哦~《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

2024-05-15 05:53:35 515

原创 Kotlin从头开始(一):lambda表达式和高阶函数 一

!最后放上一个大概的Android学习方向及思路(详细的内容太多了~),提供给大家:对于程序员来说,要学习的知识内容、技术有太多太多,这里就先放上一部分,其他的内容有机会在后面的文章向大家呈现出来,不过我自己所有的学习资料都整理成了一个文档,一直在不断学习,希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!Android架构师之路很漫长,一起共勉吧!

2024-05-15 04:36:46 758

原创 Jetpack之LiveData分析

分析:LiveData本身是一个抽象类,在Jetpack组件中唯一的子类是MutableLiveData。公开了两个方法setValue和postValue。两个方法用来更新LiveData的值,前者只能在主线程中调用,后者可以在子线程中调用,通过Handler消息机制,通知到主线程更新。在这分析这两个方法之前,先来看下,观察者如何订阅LiveData,即LiveData的observe方法:// 第一个参数是Lifecycle的持有者,比如Activity、Fragment。

2024-05-15 03:19:27 669

原创 Hexo博客开发之——部署到Coding上(1)

首先是一个知识清单:(对于现在的Android及移动互联网来说,我们需要掌握的技术)泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶注解原理丶注解原理丶序列化Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)代码框架结构优化(数据结构丶排序算法丶设计模式)APP性能优化(用户体验优化丶适配丶代码调优)热修复丶热升级丶Hook技术丶IOC架构设计。

2024-05-15 01:41:36 1006

原创 GitHub标星7-5K!Android-超级稳定且高效的UI适配方案【建议收藏】(1)

首先,大家都知道,在标识尺寸的时候,Android并不推荐我们使用px这个真实像素单位,因为不同的手机之间,分辨率是不同的,比如一个96*96像素的控件在分辨率越来越高的手机上会在整体UI中看起来越来越小。出现类似于上图这样这样,整体的布局效果可能会变形,所以px这个单位在布局文件中是不推荐的。针对这种情况,Android推荐使用dp作为尺寸单位来适配UI.那么什么是dp?dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1

2024-05-15 00:14:02 924

原创 zookeeper原理篇-Zookeeper会话机制(1)

*其实上面说了这么多,钱是永远赚不完的,在这个知识付费的时代,知识技能提升才是是根本!我作为一名8年的高级工程师,知识技能已经学习的差不多。**在看这篇文章的可能有刚刚入门,刚刚开始工作,或者大佬级人物。像刚刚开始学Android开发小白想要快速提升自己,最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以这里分享一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。这么重要的事情说三遍啦!

2024-05-14 22:09:21 693

原创 SwipeListView 详解 实现微信,QQ等滑动删除效果

给大家分享一份移动架构大纲,包含了移动架构师需要掌握的所有的技术体系,大家可以对比一下自己不足或者欠缺的地方有方向的去学习提升;《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!right);});i

2024-05-14 20:25:52 963

原创 ReactNative 调用原生方法

除了上面的步骤意外,还需在MainApplication.java文件中的getPackages方法中,实例化上面的注册类。

2024-05-14 18:49:39 104

原创 OkHttp3源码解析--设计模式

看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

2024-05-14 17:30:31 708

原创 Kotlin:该如何实现多线程同步?

val t1 = Thread { s1 = task1() }val t2 = Thread { s2 = task2() }t1.start()t2.start()t1.join()t2.join()task3(s1, s2)}方式2:线程锁主要包括:Synchronized、ReentrantLock、CountDownLatch、CyclicBarrierSynchronized@Testfun test_synchrnoized() {lateinit var s1: Stringlateinit

2024-05-14 15:47:56 767

原创 kotlin 实战之泛型与逆变协变总结(1)

用来限定类型的上界,也就是常说的协变,我们只能把它当作 extends 后面的 E 类型来读取,且读取是安全的类型转换,但是不能写入,写入会导致编译错误,因为写入可能是不安全的类型转换。希望这份系统化的技术体系对大家有一个方向参考。//【工匠若水 加微信 yanbo373131686 联系我,关注微信公众号:码农每日一题 未经允许严禁转载 https://blog.csdn.net/yanbober】用来限定类型的下界,也就是常说的逆变,逆变是用来保证写入安全的,但是不能读取,有可能类型是不安全的转换。

2024-05-14 14:39:15 314

原创 HNUCM-OJ春季学期《算法分析与设计》练习13题解

我一直以来都有整理练习大厂面试题的习惯,有随时跳出舒服圈的准备,也许求职者已经很满意现在的工作,薪酬,觉得习惯而且安逸。不过如果公司突然倒闭,或者部门被裁减,还能找到这样或者更好的工作吗?我建议各位,多刷刷面试题,知道最新的技术,每三个月可以去面试一两家公司,因为你已经有不错的工作了,所以可以带着轻松的心态去面试,同时也可以增加面试的经验。我可以将最近整理的一线互联网公司面试真题+解析分享给大家,大概花了三个月的时间整理2246页,帮助大家学习进步。

2024-05-14 03:26:56 651

原创 GitHub标星9K的Google官方MVP+Rxjava项目详解,靠这份资料我从6K变成了40K(1)

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

2024-05-14 01:55:22 957

原创 [译] React Native 对 Flutter:哪一个对创业公司更加友好?

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。不论遇到什么困难,都不应该成为我们放弃的理由!如果你看到了这里,觉得文章写得不错就给个赞呗?《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》

2024-05-13 20:54:15 608

原创 Unity扩展-Package Manager都有哪些插件-说明(中)

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案[外链图片转存中…(img-J3g4Fprf-1715598936040)]

2024-05-13 19:15:48 661

原创 Redis精通系列——LRU算法详述(Least Recently Used - 最近最少使用)

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了7、8年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。不断奔跑,你就知道学习的意义所在!

2024-05-13 17:40:20 866

原创 OkHttp 3(2)

到这里,我就大体把OkHttp的层次设计概括了一遍,这些内容都是我自己读源码的理解,因此总会有不对的地方。其实读源码是必须自己打开编辑器去读的,你可以参考网上的文章,但是你如果不亲自去研读的话,是挺难理解的,也无法确定它的正确性。所以我也希望小伙伴能看了我的文章之后能够亲自去研读相关的源码,然后对比我的理解,大家相互交流,后面我也会继续带来这个系列的其他文章。

2024-05-13 15:13:53 586

原创 Kotlin:字符串(String)(3)

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

2024-05-13 13:32:03 900

原创 Kotlin 在Android开发中那些让人舒适的地方

找工作是个很辛苦的事情,而且一般周期都比较长,有时候既看个人技术,也看运气。第一次找工作,最后的结果虽然不尽如人意,不过收获远比offer大。接下来就是针对自己的不足,好好努力了。最后为了节约大家的时间,我把我学习所用的资料和面试遇到的问题和答案都整理成了PDF文档《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!lin对这个做的改造的时候还是非常开心~// 创建Bundle 和创建map 一样优雅。

2024-05-13 12:24:11 634

原创 Hexo站点建设之——设置GIthub Actions 仓库变动站点自动更新

希望大家能有一个好心态,想进什么样的公司要想清楚,并不一定是大公司,我选的也不是特大厂。当然如果你不知道选或是没有规划,那就选大公司!希望我们能先选好想去的公司再投或内推,而不是有一个公司要我我就去!还有就是不要害怕,也不要有压力,平常心对待就行,但准备要充足。最后希望大家都能拿到一份满意的 offer!如果目前有一份工作也请好好珍惜好好努力,找工作其实挺累挺辛苦的。这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。

2024-05-13 09:30:46 115

原创 GitHub标星7-5K!Android-超级稳定且高效的UI适配方案【建议收藏】

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。

2024-05-13 08:01:55 765

原创 [译] React Native 对 Flutter:哪一个对创业公司更加友好?

对于很多初中级Android工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。整理的这些架构技术希望对Android开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。下面是部分资料截图,诚意满满:特别适合有开发经验的Android程序员们学习。不论遇到什么困难,都不应该成为我们放弃的理由!如果你看到了这里,觉得文章写得不错就给个赞呗?《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》

2024-05-13 03:59:16 883

原创 Unity扩展-Package Manager都有哪些插件-说明(中)

我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!以下是总结出来的字节经典面试题目,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!码,微信小程序,NDK音视频开发,计算机网络等。字节高级Android经典面试题和答案[外链图片转存中…(img-Dr9y8AxH-1715538008816)]

2024-05-13 02:20:20 788

原创 Redis精通系列——Pipeline(管道)

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个关于Flutter的学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的。

2024-05-13 00:44:47 525

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除