自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020年Android面试常考知识点汇总,音视频开发书籍

js和java对象交互获取webview控件的websetting设置websetting.setJavascriptEnabled( true )将一个对象暴露给JavaScript:webview.addJavascriptInterface。这个对象包含了JS调用的方法,这些方法用@JavascriptInterface修饰JS通过这些方法与Android交互防止OOM在代码中动态地将webview设置到布局中,而不是直接写到xml文件中;在Activity的onD

2022-01-29 12:15:20 3664

原创 2020 在项目中使用 MVVM正确姿势,你用对了吗?,各种风格的Android面试题进来了解一下

假如你不想在项目中使用 Databinding,那么你可以像下面的类这样继承 BaseActivity,然后通过传统的 findViewById 来获取控件并使用:class ContainerActivity : BaseActivity {override fun getLayoutResId(): Int = R.layout.vmlib_activity_containeroverride fun doCreateView(savedInstanceState: Bundle?) {// 通

2022-01-29 12:12:30 273

原创 2019初中级Android开发社招面试解答之性能优化,科学技术协会面试

如果内存足够时不回收。内存不够时就回收软引用对象2.内存中如果加载一张500X500的png高清图片.应该是占用多少的内存?参考回答:不考虑屏幕比的话:占用内存=500 * 500 * 4 = 1000000B ≈ 0.95MB考虑屏幕比的的话:占用内存= 宽度像素 x (inTargetDensity / inDensity) x 高度像素 x (inTargetDensity / inDensity)x 一个像素所占的内存字节大小inDensity表示目标图片的dpi(放在哪个资源文件夹下)

2022-01-29 12:11:05 282

原创 2019一个移动端开发者的总结与思考,android音频播放器

2.对于内存上的问题,我们产线其实很早之前就碰到了,线上爆出可观数量的OOM,当时我对我们app做了一次内存上的分析与优化,效果还是非常明显的,当时对分析和优化过程做了记录:实践App内存优化:如何有序地做内存分析与优化,后续的几个版本中我们发现OOM的数量大幅度下降,但是依然会有少数的OOM上报,分析下来发现这部分发生OOM的机型大部分单应用最大可用的内存只有64M,也就是说有部分很老旧的机型内存实在小,所以我们最后上线了内存适配方案,也就是对不同内存大小的机型做不同的内存使用方案,比如对于一些老旧内存非

2022-01-29 12:09:41 260

原创 16年,平凡而又收获的一年,为什么说Flutter让移动开发变得更好

有许多人说,写编程会让一个人性格变得烦躁。哈哈,有时候确实会,不过,有时候我更想说的是,写编程往往是我们变得更加耐心和细心。每一次我们在跟bug作斗争的时候,我们的耐心正在一点点培养。许多人说程序员活像闷葫芦,钱多话少死得早。怎么说呢,这句话还是有一点道理的,首先钱多呢,这个就不必详讲了,相对大多数打工族来说,程序猿的工资相对来是还是比较高的。话少呢,确实也有一定的道理,因为我们整天面对的是电脑,比较少与人沟通交流,久而久之,语言表达能力肯定会退化不少的,有时候在与人交谈中,也不知道谁聊什么话题好,这就

2022-01-29 12:08:16 524

原创 150行代码实现自定义九宫格ViewGroup,谷歌flutter

自定义一个ViewGroup的首要任务就是要定义测量逻辑,让ViewGroup知道自己的大小,才能在屏幕上展示出来。 根据上面的分析得出:当图片只有一张的时候,整个ViewGroup的大小和负责显示图片的ImageView是一样大的。这个大小可以根据图片的宽高比乘以一个预设的宽度或高度得到。这个预设的宽度取决于xml文件里设定或根据UI需求自己定义。而当有多张图片的时候,宽度有两种情况需要考虑:在xml文件定义为Wrap_Content模式,宽度根据实际展示的列数乘以每列的宽度在xml文件中固定数

2022-01-29 12:05:26 3730

原创 1307页字节跳动Android面试全套真题解析在互联网火了-,完整版开放下载

onSaveInstanceState()和onRestoreInstanceState()Activity 到底是如何启动的启动模式以及使用场景onSaveInstanceState以及onRestoreInstanceState使用onConfigurationChanged使用以及问题解决Activity 启动流程解析FragmentFragment 生命周期和 Activity 对比Fragment 之间如何进行通信Fragment的startActivityForResult

2022-01-29 12:04:01 118

原创 2020应届毕业生,Android春招总结,已入职小米,进阶加薪全靠它

二面 (40misn)asynctask原理ANR原因ANR排查怎么解决加载大图OOM的问题https过程,对称加密,非对称加密TCP和UDP区别手撕代码:单例模式DCL,面试官问我有没有更优的,腾讯一面 (1h)自我介绍笔试题1:删除无序链表中的重复结点(能否优化)笔试题2:先说一下二叉树的有哪些遍历方法。写一个二叉树前序遍历的非递归形式。讲一下Java的内存。创建一个字符串对象,这个对象分配在哪里?String str = “123” + “456”;会创建几个对象。

2022-01-28 12:36:35 1608

原创 2020Android面试心得:斩获3个大厂offer后,大厂常考知识点 & 面试技巧出炉

复习计划的制定和进度的把控也很重要,可以参考别人的学习计划去学习,再根据自己的实际情况去做适当的调整。复习技巧我一直认为学习没有捷径可言。我信奉"好记性不如烂笔头",也信奉"书读百遍其义自见"。一定要去实践。对于程序员而言,不单单是死记硬背,我们有更好的方式去学习,比如写demo去验证,比如学习源码的过程中,一定要自己去翻看源码,多翻几遍看熟了再说。学习笔记我认为很重要,不仅要记笔记,还要写心得体会,文字笔记、画图、总结等,方式很多,但是一定要自己认真去做,不要太相信自己的记忆,只有反复记忆,加深理

2022-01-28 12:35:10 2235

原创 2020Android最新大厂面试真题总结:Flutter+NDK,一个月成功收割腾讯、百度、美团、网易offer

2、正文首先,我的相关经验仅限于技术/开发类招聘,产品、策划等方向我并不了解,不过我在腾讯和招聘过程中也认识了不少相关方向的小伙伴,如果有相关需求的同学也可以找我咨询他们的联系方式。回到正题,招聘相关的经验,我准备从时间点、准备、方向和面试经验四个方面来说。2.1、时间点技术/开发类的招聘,对于本科生而言,需要重点关注两个时间点:实习生春季招聘和应届生秋季招聘,也就是大三下学期的那一年的3月开始(如我是2016届入学,也就是2019年3月左右开始的)的春季招聘,主要面向实习生招聘,实习时间一般为7—

2022-01-28 12:33:45 131

原创 2020Android开发陷入饱和,移动开发者未来的出路在哪里,我们该如何让应对?

1, 应用程序层顶层中有所有的Android应用程序,包括通讯录、浏览器等,你写的应用程序也被安装在这层;所有的的应用程序都是使用Java语言编写的。2,应用框架层这一层主要提供构建应用程序是可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用API来构建自己的应用程序。活动管理者(Activity Manager):控制应用程序生命周期和活动栈的所有方面内容提供器(Content Providers):允许程序之间发布和分享数据。资源管理器(R

2022-01-28 12:32:20 350

原创 2020-Android大厂(字节跳动,腾讯,kotlin教程pdf

先说一下自己的个人情况,18届应届生,通过校招进入到了蘑菇街,然后一待就待了差不多2年多的时间,可惜的是今年4月份受疫情影响遇到了大裁员,而我也是其中一员。好在早有预感,提前做了准备,之前一直想去字节跳动,年前就已经在做准备了,这场持久战拉得很长,也最终以7个月的时间取得胜利。在踏入字节跳动,办理入职手续的那一天,作为一个男子汉,确实是落泪了。特分享一波我的真实经历,共勉。【 [有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!]( )】我在大三的时候,没有参.

2022-01-28 12:30:56 199

原创 2019,2021非科班生的Android面试之路

“成功的花,人们只惊慕她现时的明艳!然而当初她的芽儿,浸透奋斗的泪泉。。。。。。。”现实生活中,人们往往也是如此,看到那些成功的人,总是会投来羡慕的眼光,却很少去思考。其实,我们应该多向他们学习,多去思考。为什么他这么优秀他身上有哪些品质是值得我们学习的?比如接人待物方面我们需要作出怎样的改变,才能逐步提高自己,向优秀的人靠近。了解了这些之后,我们就要开始从自身着手,学会如何去提高自己。不断学习的态度首先是心态上面的改变,要做到不安于现状,知识和技能永远是学不完的,无论什么时.

2022-01-28 12:29:31 68

原创 2019年移动开发,我的改变之旅,android应用开发

###二.Android技术的下半场要说下半场,我更愿意说是“Android技术的下半场”,随着这几年大量的工程师和公司投入研发,Android技术已经从最早的简单页面,到越来越复杂的交互,再到动态化、插件化等新技术和黑科技,这个领域的深度在不断加深。如果想成为优秀、不担心淘汰的工程师,绝不是一味跟风新技术,今天学Kotlin、明天学Flutter,疲于奔命;而应该持续努力去完善自己的知识体系,保持一定的技术深度。因此,本专栏希望在大家做UI、界面开发之余,分享一些Android架构方面的知识和技能。

2022-01-28 12:28:06 104

原创 2019-必看-Android-高级面试题总结,oppo android面试

5.静态View导致泄漏使用静态View可以避免每次启动Activity都去读取并渲染View,但是静态View会持有Activity的引用,导致无法回收,解决办法是在Activity销毁的时候将静态View设置为null(View一旦被加载到界面中将会持有一个Context对象的引用,在这个例子中,这个context对象是我们的Activity,声明一个静态变量引用这个View,也就引用了activity)6.WebView导致的内存泄漏WebView只要使用一次,内存就不会被释放,所以WebView都

2022-01-28 12:26:41 1327

原创 2018年Android面试题含答案--适合中高级(下),安卓驱动面试

1:Activity构造的时候会初始化一个Window,准确的说是PhoneWindow。2:这个PhoneWindow有一个“ViewRoot”,这个“ViewRoot”是一个View或者说ViewGroup,是最初始的根视图。3:“ViewRoot”通过addView方法来一个个的添加View。比如TextView,Button等4:这些View的事件监听,是由WindowManagerService来接受消息,并且回调Activity函数。比如onClickListener,onKeyDown.

2022-01-28 12:25:06 389

原创 2020Android大厂高频面试题(字节跳动+阿里,字节跳动Android面试全套真题解析在互联网火了

6.        Intent传递数据时,下列的数据类型哪些可以被传递( )(多选)       A、Serializable  B、charsequence  C、Parcelable  D、Bundle7.      &nb

2022-01-27 11:53:17 108

原创 2020 在项目中使用 MVVM正确姿势,你用对了吗?,Android已死

public ApartmentProjectViewModel() {toast = new SingleLiveEvent<>();loading = new SingleLiveEvent<>();}public SingleLiveEvent getToast() {return toast;}public SingleLiveEvent getLoading() {return loading;}public void requestData() {l

2022-01-27 11:51:51 946

原创 2019最新Android算法相关面试大全,请查收,androidapp开发语言

选择排序 — O(n²)希尔排序 — O(nlogn)堆排序 — O(nlogn)快速排序 — O(nlogn) 期望时间, O(n²) 最坏情况; 对于大的、乱数串行一般相信是最快的已知排序#####6.2交换排序######冒泡排序它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。冒泡排序总的平均时间复杂度为O(n^2)。冒泡排序是一种稳定排序.

2022-01-27 11:49:01 155

原创 2019-阿里、头条、腾讯,移动端h5开发

2.面试情况阿里(蚂蚁金服):拿到 offer头条(抖音、火山):拿到 offer美团(美团平台):拿到 offer腾讯(腾讯音乐):二面挂3. 准备这部分将结合我自己的经验,为大家准备面试提供一个参考。3.1 尽早开始准备首先,尽早开始准备。足够的时间是充足的准备的基本保证。不用担心因为早准备而遗忘的问题,因为每一次看都会比上一次看快很多。随着复习次数增加,对知识点的掌握也会更加牢固。我一些同学到面试前一个月甚至前几天才准备,这时再想准备好庞大的知识点就力不从心了,自

2022-01-27 11:47:36 114

原创 2018已经很冷,2019年Android工作或更难找—,我的Android春季历程

然而市场并不总是这么理想的,一个行业的兴衰除了自身的发展历程,也跟整体经济形势息息相关。太复杂的东西我说不出来,但是2018年的经济形势如何相信大家心里有数,而在寒冬时,很多公司已经无法生存了,自然也就无法提供相应的岗位。大公司生存能力强不少,但也需要精打细算准备好过冬的粮食,裁员、甚至裁部门的事情已经屡见不鲜。我所在的一些群,每天都能看到相应的“小道消息”:哪家裁员了、哪家裁撤部门了、哪家倒闭了……而在2019年,市场恐怕不会有明显的好转,所以对于广大初中级Android开发者来说,活下去才是最重要的事

2022-01-27 11:44:47 71

原创 2017面试题大汇总,全靠这套面试题

写出你所知道的排序算法及时空复杂度,稳定性百度POI中如何试下查找最近的商家功能(坐标镜像+R树)其他死锁的四个必要条件常见编码方式;utf-8编码中的中文占几个字节;int型几个字节实现一个Json解析器(可以通过正则提高速度)MVC MVP MVVM; 常见的设计模式;写出观察者模式的代码TCP的3次握手和四次挥手;TCP与UDP的区别HTTP协议;HTTP1.0与2.0的区别;HTTP报文结构HTTP与HTTPS的区别以及如何实现安全性非..

2022-01-27 11:43:22 63

原创 18—19年BAT大厂Android高级多套面试专题整理集合(面试资料专题包分享

这里是我整理的2018年至2109年期间通过各个渠道花时间专门整理的面试题,其中面试重点和难点都有详细解析,重点讲的是Android各方面的专题讲解包括Java小部分的技术讲解。这些题目有点技术含量,需要时间去研究一下的。这里我不仅给大家整理了多套BAT面试题,还有小编一路收集到的面试方面的资料包及面试相关视频资料,这些在文末有提供免费领取方式的,其中包括初级,中级,高级不同水平以及不同专题所涉及到的常问范围,及面试专题和答案和系统学习视频资料,免费分享给大家,省去网上到处搜索资料的麻烦。希望通过这些高

2022-01-27 11:41:57 81

原创 (转载)Android的三种菜单,androidview绘制流程

android:showAsAction=“never”android:title=“menu2”/></group><group android:id=“@+id/group2”><itemandroid:id=“@+id/action_menu3”android:orderInCategory=“100”android:menuCategory=“secondary”android:showAsAction..

2022-01-27 11:40:32 139

原创 2019初中级Android开发社招面试解答之性能优化,android应用开发基础课件

4.Bitmap如何处理大图,如一张30M的大图,如何预防OOM?参考回答:避免OOM的问题就需要对大图片的加载进行管理,主要通过缩放来减小图片的内存占用。BitmapFactory提供的加载图片的四类方法(decodeFile、decodeResource、decodeStream、decodeByteArray)都支持BitmapFactory.Options参数,通过inSampleSize参数就可以很方便地对一个图片进行采样缩放比如一张10241024的高清图片来说。那么它占有的内存为102

2022-01-26 10:21:46 91

原创 2019初中级Android开发社招面试解答之性能优化(1),Android开发三年月薪才12K

后端处理慢,可以让服务器分trunk输出,在后端计算的同时前端也加载网络静态资源。脚本执行慢,就让脚本在最后运行,不阻塞页面解析。同时,合理的预加载、预缓存可以让加载速度的瓶颈更小。WebView初始化慢,就随时初始化好一个WebView待用DNS和链接慢,想办法复用客户端使用的域名和链接。4.Bitmap如何处理大图,如一张30M的大图,如何预防OOM?参考回答:避免OOM的问题就需要对大图片的加载进行管理,主要通过缩放来减小图片的内存占用。BitmapFactory提供的加载图片的.

2022-01-26 10:20:21 87

原创 2019-金三银四:阿里P9架构的Android大厂面试题总结,安卓内存优化面试

service和activity怎么进行数据交互?Service的开启方式请描述一下Service 的生命周期谈谈你对ContentProvider的理解说说ContentProvider、ContentResolver、ContentObserver 之间的关系请描述一下广播BroadcastReceiver的理解广播的分类广播使用的方式和场景在manifest 和代码中如何注册和使用BroadcastReceiver?本地广播和全局广播有什么差别..

2022-01-26 10:18:56 188

原创 2019-BAT大厂-Android社招最全面试题(面试总结+详细解答

Service的两种启动方式?区别在哪?如何保证Service不被杀死 ?能否在Service开启耗时操作 ?怎么做 ?用过哪些系统Service ?了解ActivityManagerService吗?发挥什么作用(重点)###Broadcast Receiver基础相关广播有几种形式 ? 都有什么特点 ?广播的两种注册方式 ?广播发送和接收的原理了解吗 ?(Binder机制、AMS)###ContentProvider基础相关ContentProvider了解多少?Cont.

2022-01-26 10:17:31 74

原创 2019 Android 高级面试题总结,你会的还只有初级Android工程师的技术吗

JVM虚拟机我们需要知道他们内部组成:堆,虚拟机栈,本地方法栈,方法区,计数器。每一块都存放什么东西,以及垃圾回收的时候主要回收哪些块的东西。GC-ROOT链是从哪些地方开始的,垃圾回收集算法(很少遇到问的)。类加载ClassLoader已经双亲委派机制,类加载的过程,类加载的信息对应在JVM的哪些块中。列一个遇到的类加载的面试题:public class TestClassLoader {static class Father {public static final String TAG =

2022-01-26 10:16:07 115

原创 10分钟带你搞懂协程、LiveData-和-Flow,flutter安装androidsdk

有如此多的操作会同时进行,我们需要有一个更好的方法来管理它们的取消操作。也就是 Kotlin 的协程 (Coroutine)。协程的优势协程的优点主要来自三个方面:很容易离开主线程。我们试过很多方法来让操作远离主线程,AsyncTask、Loaders、ExecutorServices……甚至有开发者用到了 RxJava。但协程可以让开发者只需要一行代码就完成这个工作,而且没有累人的回调处理。样板代码最少。协程完全活用了 Kotlin 语言的能力,包括 suspend 方法。编写协程的过程就和编.

2022-01-26 10:14:42 173

原创 2019年底腾讯Android研发岗面试复盘总结,还是体系的学习效果高

HttpUrlConnection 和 okhttp关系10.如何优化自定义View1)在要在onDraw或是onLayout()中去创建对象,因为onDraw()方法可能会被频繁调用,可以在view的构造函数中进行创建对象;2)降低view的刷新频率,尽可能减少不必要的调用invalidate()方法。或是调用带四种参数不同类型的invalidate(),而不是调用无参的方法。无参变量需要刷新整个view,而带参数的方法只需刷新指定部分的view。在onDraw()方法中减少冗余代码。.

2022-01-25 09:39:09 69

原创 2019年Android-非科班硕士的阿里&腾讯&字节&爱奇艺&网易&华为实习面试大汇总分享

自我介绍Android学习方式对源码是否了解(Android Java)源码Handler消息机制(具体涉及到的类 & 细节)HashMap(数据结构 & put操作)HashMap扩容时间复杂度ArrayMapJVMJava内存区域堆栈区别哪些区域线程私有,哪些共享栈帧方法调用时的入栈出栈操作Java并发访问:volatile(只保证了可见性和有序性,不能保证原子性)synchronized:修饰代码块/方法/对象的区别? (单例模式DC

2022-01-25 09:37:44 106

原创 2019-金三银四:阿里P9架构的Android大厂面试题总结,安卓app开发入门教程

Android面试题包括Android基础,还有一些源码级别的、原理这些等。所以想去大公司面试,一定要多看看源码和实现方式,常用框架可以试试自己能不能手写实现一下,锻炼一下自己。####(一)Android基础知识点四大组件是什么四大组件的生命周期和简单用法Activity之间的通信方式Activity各种情况下的生命周期横竖屏切换的时候,Activity 各种情况下的生命周期Activity与Fragment之间生命周期比较Activity上有Dialog的时候

2022-01-25 09:36:19 199

原创 2017年伊始,你需要尝试的25个Android第三方库,Android知识体系大纲

Github地址:https://github.com/hugeterry/CoordinatorTabLayoutboxingboxing是一个多媒体选择器库。可以选择一张或者多张图片,提供预览和裁剪功能。同样支持gif图,选择视频和图像压缩功能。(B站出品哦!!)效果如下:Github地址:https://github.com/Bilibili/boxingexcelPanel提供一个二维的RecyclerView控件。效果如下:Github地址:https://git

2022-01-25 09:34:54 187

原创 1幅漫画带你认识这3种奇奇怪怪的排序算法,ndk开发前景

————— 第二天 —————public static void sleepSort(int[] array){ for (int num : array) { new Thread(() -> { try { Thread.sleep(num); } catch (InterruptedException e) { e.printStackTrace(); ..

2022-01-25 09:33:29 529

原创 18—19年BAT大厂Android高级多套面试专题整理集合(面试资料专题包分享

##2018年收集的面试专题整理四年Android面试遇到的问题整理四年来Android面试大纲{Android}参加阿里完面试后:一到HR四面,我的复盘经验总结!Android大厂面试专题,元旦福利领取~(含答案及详情资料链接)##2019年收集的面试专题整理年后想跳槽涨薪?你想要的面试题全在这里互联网寒冬下,一个 Android 程序员的面试心得金三银四的面试黄金季节,Android面试题来了!2019大厂Android面试经验(含爱奇艺,小米,腾讯,阿里)熬过了互联网“寒冬.

2022-01-25 09:32:04 80

原创 1307页字节跳动Android面试真题解析火爆全网,完整版开放下载(1)

Activity 启动流程解析Activity相关FragmentFragment 生命周期和 Activity 对比Fragment 之间如何进行通信Fragment的startActivityForResultFragment重叠问题Fragment 初探Fragment 重叠,如何通信Fragment生命周期Fragment相关Service 相关进程保活Service的运行线程(生命周期方法全部在主线程)Service启动方式以及如何停止ServiceConn.

2022-01-25 09:29:15 83

原创 (转载)简单的安卓UI组件使用,安卓内存监控apk

设置完Activity后要在layout文件夹写一个item来配置simple的控件。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> //先设置文本 <TextView andro

2022-01-25 09:27:50 117

原创 2021面对5G、AI、大数据,安卓面试项目源码

什么时候转?====================================================================按目前程序员的年龄拓扑图,便于大家理解,我整理了下,便于你分析理解。1 技术路线:工程师(1-2年)–高级/资深(3-5年)-专家(5-7年)–总监(8-10年)按普通开发的升级打怪路线,差不多就是这个年龄段。32岁之前你至少要到专家级别,才可能防止中年危机。2 管理路线:主管/经理 - 总监 -VP- 总裁如果你想中途下车,只要对自己的定位正.

2022-01-24 11:46:38 112

原创 2020腾讯Android岗初级到高级面试真题收录解析,七年老Android掏心分享

腾讯面经真题1、说完基本情况后问项目,遇到过的问题,解决办法,用过的技术2、TCP和UDP有哪些区别3、TCP三次握手四次挥手,为什么挥手时要确认两次?4、王者荣耀保证用户实时性共享画面,互相明白对方做啥操作5、对synchronized怎么理解的6、Java的各种框架有多少了解7、怎么做的一个线程访问,组织另一个线程访问呢?8、简述写一个JNI HelloWorld的基本流程,从写出Java native方法到打印到手机屏幕上为止,说说这整个过程里面每一步产生了什么文件9、动态权限申请

2022-01-24 11:43:48 92

空空如也

空空如也

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

TA关注的人

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