当前位置:首页>面试真题>Android面试真题&技巧 | 四大组件核心知识点及高频面试问题汇总

Android面试真题&技巧 | 四大组件核心知识点及高频面试问题汇总

  • 2026-06-01 23:34:17
Android面试真题&技巧 | 四大组件核心知识点及高频面试问题汇总

前言

四大组件是Android开发的基础核心,是移动端技术面试的重点考察内容,也是开展业务开发、系统适配、性能优化的底层基础。
无论是应届生校招、初级及中级开发者社招,还是日常项目迭代、版本兼容适配,四大组件的生命周期、底层机制、使用场景、常见问题及系统适配规则,都是开发者必须掌握的核心能力。
本文系统化梳理Android四大组件完整知识点,结合开发实战与面试高频问题,采用知识点梳理+问答解析的形式,内容贴合实际开发场景,无冗余话术,可作为日常学习、技术复盘、面试备考的正规参考文档。

一、Activity 核心知识点与高频问题

Activity是Android负责页面展示与用户交互的核心组件,是应用最基础的页面载体,相关知识点覆盖生命周期、启动模式、任务栈、配置变更重建等核心内容,考察维度最广、细节最多。

1.1 Activity完整生命周期

核心知识点

Android官方将Activity生命周期划分为三个核心维度,包含七个核心回调方法,完整覆盖页面初始化、展示、交互、后台驻留、销毁的全流程,每个方法具备固定职责与开发规范。

三大生命周期维度

完整生命周期:onCreate 至 onDestroy,对应页面从初始化到彻底销毁的完整过程。
可见生命周期:onStart 至 onStop,对应页面可见与不可见的状态切换,不限制交互状态。
前台生命周期:onResume 至 onPause,对应页面获取、失去前台焦点的状态切换,直接影响用户交互。

七大生命周期方法职责与开发规范

  • onCreate():页面首次初始化时调用,整个生命周期仅执行一次。主要用于初始化布局、绑定控件、初始化全局变量、配置页面基础参数与静态数据。该方法运行在主线程,禁止执行网络请求、数据库读写等耗时操作,否则会引发页面卡顿、主线程阻塞,严重时触发ANR异常。
  • onStart():页面由不可见变为可见状态,此时页面无焦点、无法接收用户交互。仅可执行轻量初始化逻辑,如注册普通监听、初始化状态标识,不建议开启动画、轮询、实时刷新等动态任务。
  • onResume():页面获取前台焦点,进入可正常交互状态。所有动态业务逻辑、动画播放、实时数据刷新、轮询任务、音视频播放、用户交互监听,均需在此方法中启动。
  • onPause():页面失去前台焦点,出现弹窗遮挡、页面跳转、退至后台等场景时触发。该方法执行速度要求极高,仅用于保存临时数据、暂停交互任务、终止轻量动态逻辑,禁止耗时操作,避免触发前台ANR。
  • onStop():页面完全不可见、退出前台时触发。核心作用是释放重量级资源,包括停止网络请求、暂停音视频播放、关闭动画、释放图片内存、终止轮询任务,降低后台内存占用与设备耗电。
  • onDestroy():页面彻底销毁时调用,整个生命周期仅执行一次。用于终极资源释放,包括解绑所有监听、关闭IO流、取消定时器、终止子线程、清空静态引用,从根源避免内存泄漏。
  • onRestart():页面未被销毁,从后台重新切换至前台时触发,执行后会立即回调onStart(),主要用于页面复现时的状态刷新与数据重载。

常见场景生命周期变化规则

正常打开新页面:onCreate → onStart → onResume
正常关闭页面返回:onPause → onStop → onDestroy
页面按Home键退后台:onPause → onStop
后台页面切回前台:onRestart → onStart → onResume
Dialog弹窗遮挡页面:仅触发onPause
关闭Dialog恢复页面:仅触发onResume

异常销毁重建机制

当应用出现横竖屏切换、系统字体缩放、屏幕尺寸变更、系统内存不足、后台冻结、分屏切换等场景时,系统会被动销毁当前Activity并重新创建。系统会通过onSaveInstanceState方法保存轻量临时数据,销毁旧实例后创建新实例,并完成状态数据恢复,以此减少用户数据丢失问题。

高频面试问题解析

Q1:onStart与onResume、onPause与onStop的核心区别?

A:核心区别体现在页面可见性、焦点状态与交互能力。onStart代表页面可见但无焦点,无法交互,仅完成页面渲染;onResume代表页面获取前台焦点,支持用户正常操作。onPause是页面失焦、部分可见,后台任务可短暂保留;onStop是页面完全不可见,必须释放重量级资源。开发中区分二者可有效规避ANR、内存冗余等线上问题。

Q2:onSaveInstanceState的触发时机与使用限制?

A:该方法仅在系统被动销毁Activity时触发,主动调用finish()关闭页面不会触发。常见触发场景包括配置变更、内存回收、后台冻结等。该方法不适合存储大数据,其底层载体为Bundle,存在系统容量限制,且主线程调用要求执行高效,仅可保存文本、状态标识、滚动位置等轻量数据,复杂数据需通过ViewModel或本地持久化方案存储。

Q3:简述Activity异常销毁重建的完整流程?

A:首先系统检测到配置变更或内存不足,回调onSaveInstanceState缓存页面临时状态;随后依次执行onPause、onStop、onDestroy,销毁旧Activity实例及视图资源;最后系统创建全新Activity实例,初始化布局后读取缓存数据恢复页面状态,通过onStart、onResume恢复页面交互能力。重建后为全新实例,仅状态数据被保留。

Q4:Dialog弹窗为何不会触发onStop?

A:Dialog属于当前Activity的附属弹窗,不会完全遮挡原页面,Activity仍处于部分可见状态,不满足onStop“页面完全不可见”的触发条件,因此仅触发onPause,不触发onStop。

Q5:网络请求为何不建议放在onCreate、onStart中?

A:两个方法均在主线程执行,网络请求属于IO耗时操作,会阻塞页面渲染,引发卡顿、白屏甚至ANR。同时页面重建会重复触发这两个生命周期,导致重复请求、数据错乱等问题。规范写法为在onResume中开启异步请求,onPause中终止请求。

1.2 Activity启动流程与任务栈机制

核心知识点

Activity启动分为显式启动与隐式启动两种方式,系统通过AMS服务统一管理任务栈,依托任务栈实现页面层级调度与启停管理,同时提供四种启动模式适配不同业务场景。

显式启动与隐式启动

显式启动:通过Class字节码直接指定目标Activity,定位精准、执行高效、无匹配风险、安全性高,适用于应用内部所有页面跳转,是项目主流开发方式。
隐式启动:不指定具体页面类名,通过Intent的Action、Category、Data等参数匹配清单文件过滤器。主要用于跨应用跳转、调用系统原生能力,如打开相册、浏览器、拨号功能。缺点是匹配逻辑复杂,存在匹配失败崩溃、被恶意劫持的风险,安全性较差。

任务栈机制

Android系统基于AMS服务管理任务栈,遵循后进先出规则管控Activity实例。每个应用默认拥有独立主任务栈,页面跳转时压入栈顶,返回操作时栈顶页面出栈销毁,依托栈结构维持页面层级与返回逻辑。

四大启动模式

  • standard(默认模式):每次跳转均新建Activity实例压入栈顶,支持同一页面多实例共存,适用于列表详情、二级功能页等普通页面。
  • singleTop(栈顶复用模式):跳转时校验栈顶页面,若目标页面在栈顶则复用实例,仅回调onNewIntent;若不在栈顶则新建实例。用于避免通知跳转、重复打开同一页面的场景。
  • singleTask(栈内复用模式):栈内存在目标实例则直接复用,同时清空目标页面上方所有Activity,实现页面置顶。适用于首页、登录页等需要一键回退根页面的场景。
  • singleInstance(全局单例模式):创建独立专属任务栈,全局仅存在唯一实例,独占栈结构。仅适用于系统级悬浮页、全局唯一弹窗等特殊页面,普通业务场景不推荐使用。

高频面试问题解析

Q1:显式启动与隐式启动的核心差异与适用场景?

A:定位机制上,显式通过Class精准定位页面,隐式通过系统过滤器模糊匹配;使用场景上,显式仅用于应用内部跳转,隐式用于跨应用、系统能力调用;安全性上,显式无劫持、无崩溃风险,隐式易被恶意拦截,安全性低。日常开发优先使用显式启动,隐式启动仅用于系统功能调用场景。

Q2:singleTask清栈后页面的生命周期变化与数据刷新方式?

A:复用栈内已有实例时,不会触发onCreate、onStart、onResume,仅回调onNewIntent方法,目标页面上方所有Activity会依次销毁。开发者可在onNewIntent中接收最新跳转数据,手动刷新页面UI与业务状态。

Q3:singleTask与singleInstance的本质区别?

A:核心区别为任务栈结构不同。singleTask复用应用原有主任务栈,仅清空上层页面,栈结构不变;singleInstance创建独立隔离任务栈,实例全局唯一且独占栈结构。误用singleInstance易导致页面返回逻辑错乱,普通业务场景优先使用singleTask。

Q4:singleTop的作用与局限性?

A:主要用于解决栈顶页面重复打开的问题,避免生成冗余实例、占用内存。局限性为仅校验栈顶页面,若目标页面位于栈内下层,无法实现复用,仍会新建实例,不具备全局清栈复用能力。

1.3 横竖屏重建问题与适配方案

核心知识点

屏幕旋转、字体缩放、分屏切换等操作会触发系统Configuration配置变更,默认情况下系统会销毁并重建Activity,导致页面临时数据、滚动位置、输入内容丢失,是开发中常见的适配问题。目前主流适配方案分为四种,各有适配场景与优缺点。
  • onSaveInstanceState状态保存:通过系统方法缓存轻量数据,重建后恢复状态。优点是原生兼容全版本,缺点是仅支持简单数据,代码冗余,无法适配复杂对象。
  • 锁定屏幕方向:清单文件固定页面横竖屏,彻底禁止页面重建。优点是适配成本低、稳定性高,缺点是无法适配横竖屏自适应场景。
  • configChanges拦截配置变更:拦截屏幕尺寸、方向变更,阻止系统自动重建,手动回调方法适配布局。优点是支持动态横竖屏切换,缺点是无法拦截字体、主题等隐性变更,需手动适配布局,开发成本较高。
  • ViewModel状态保存:依托ViewModel独立于Activity重建的生命周期特性,存储页面核心数据。优点是官方推荐、适配全场景、支持复杂数据,代码简洁,是主流项目首选方案。

高频面试问题解析

Q1:四种横竖屏适配方案的优先级与适用场景?

A:日常开发优先级为ViewModel > 锁定屏幕 > configChanges拦截 > onSaveInstanceState。复杂业务页面优先使用ViewModel,彻底解决重建数据丢失问题;无自适应需求的固定页面采用锁屏方案;需要动态横竖屏切换的页面用configChanges兜底;简单轻量数据场景可临时使用系统状态保存方案。

Q2:配置configChanges后仍出现页面重建的原因?

A:configChanges仅能拦截手动配置的显性变更,字体大小、主题切换、夜间模式等隐性系统配置变更无法拦截,仍会触发重建。同时该方案仅阻止系统自动重建,不会自动适配布局,需开发者手动适配控件与资源,否则会出现布局错乱问题。

Q3:ViewModel规避重建数据丢失的底层原理?

A:ViewModel的生命周期由ActivityViewModelStore管理,独立于Activity视图实例。页面重建时,系统仅销毁旧的视图实例,不会回收ViewModel的引用与数据,新Activity实例会复用原有ViewModel,从而保留页面核心数据,仅页面主动销毁时ViewModel才会被回收。

Q4:横竖屏重建会引发哪些线上问题?如何规避?

A:常见问题包括数据丢失、列表滚动归零、输入内容清空、重复网络请求、Fragment重叠、视图错乱等。规避方式为核心数据统一存入ViewModel,固定页面屏幕方向,动态页面手动适配配置变更,禁止在高频生命周期中发起网络请求。

二、Fragment 核心知识点与高频问题

Fragment是Android轻量化模块化UI组件,依托Activity宿主运行,主要用于页面拆分、UI复用、模块化架构落地,核心考察点为生命周期联动、懒加载机制、重叠问题、视图复用优化等。

2.1 核心知识点梳理

  • 生命周期联动机制:Fragment无独立窗口与进程,生命周期依附宿主Activity,宿主的暂停、停止、销毁状态会同步作用于Fragment。同时Fragment拥有独立视图生命周期,可独立创建、销毁视图,支持页面局部刷新与复用。
  • 懒加载方案迭代:旧版setUserVisibleHint方案存在时序错乱、空指针、重复加载等问题,已被官方废弃。新版采用MaxLifecycle+onResume生命周期感知懒加载,精准绑定页面可见状态,稳定性更强。
  • Fragment重叠问题:Activity异常重建时,系统会自动恢复栈内Fragment,若业务代码重复添加新实例,会导致视图重叠。解决方案为判断缓存状态、复用带唯一Tag的Fragment、初始化前清空残留视图。
  • 视图复用优化:旧版ViewPager+FragmentPagerAdapter易出现视图残留、数据错乱问题。新版ViewPager2+FragmentStateAdapter基于RecyclerView机制,按需销毁重建组件,优化内存占用与复用问题。

2.2 高频面试问题解析

Q1:Fragment与Activity的核心差异与使用场景?

A:Activity是顶级独立页面,拥有独立窗口与完整独立生命周期;Fragment是轻量化子组件,无独立窗口,生命周期依附宿主Activity,但具备独立视图生命周期。项目中使用Fragment可实现页面模块化拆分、UI组件复用与局部刷新,减少冗余代码,适配多Tab、多模块页面场景。

Q2:setUserVisibleHint被废弃的核心原因?

A:该方案存在严重时序问题,视图初始化完成前就会触发可见状态判断,易引发空指针;页面重建、组件复用时状态判断失效,导致重复请求、数据错乱;同时无法兼容新版AndroidX生命周期机制,适配性差,因此被官方废弃。

Q3:如何彻底规避Fragment重叠问题?

A:采用多重防护方案:页面初始化时优先判断系统缓存,复用已有Fragment实例;为每个Fragment配置唯一Tag,通过Tag查询复用组件;初始化新组件前,主动清空页面残留的Fragment视图,杜绝重复添加。

Q4:ViewPager2相较于旧版ViewPager的核心优化?

A:基于RecyclerView复用机制,按需创建销毁页面,解决视图残留、数据错乱问题;原生支持懒加载,无需手动判断可见状态;新增竖向滑动、动态增删页面能力;精准适配AndroidX生命周期,内存性能与稳定性全面提升。

Q5:onDestroy与onDestroyView的核心区别?

A:onDestroyView仅销毁页面视图资源,Fragment实例保留,可快速重建复用;onDestroy彻底销毁Fragment实例,释放所有核心资源。开发中在onDestroyView释放视图、动画、监听资源,在onDestroy释放子线程、全局引用等核心资源,兼顾复用性与内存安全。

三、Service 核心知识点与高频问题

Service是Android无UI的后台核心组件,用于处理后台常驻任务、异步逻辑与跨进程通信,核心考察服务分类、启停机制、生命周期、新版系统适配与合规保活方案。

3.1 服务分类及核心区别

  • 前台服务:绑定状态栏常驻通知,系统进程优先级最高,不易被后台回收,适用于音乐播放、文件下载、导航定位等用户感知的后台任务。Android10及以上需单独申请前台服务权限,否则功能失效崩溃。
  • 后台服务:无通知静默运行,进程优先级低,极易被系统回收。Android8.0之后系统严格限制后台静默运行,该模式基本废弃,不推荐使用。
  • 远程服务:基于AIDL实现跨进程通信,运行在独立进程,支持跨模块、跨应用数据交互与方法调用,多用于组件化开发、跨进程业务场景。

3.2 服务启停机制差异

  • startService启动:服务生命周期独立于启动组件,启动后可脱离页面后台运行,需手动调用stopSelf或stopService销毁,适用于无交互的独立后台任务。
  • bindService绑定:服务生命周期依附于绑定组件,组件销毁则服务自动解绑终止,可通过Binder实现客户端与服务端双向通信,适用于需要交互的后台任务。

3.3 新版系统适配与保活规则

Android8.0及以上版本收紧后台管控,静态广播保活、无限子线程、透明Activity等非常规保活方案全部失效。当前合规有效的保活方式包括前台服务常驻、WorkManager定时唤醒、系统闹钟唤醒、双进程守护,是官方认可的稳定方案。

3.4 高频面试问题解析

Q1:前台服务不易被回收的底层原理?

A:Android系统对进程分级管控,前台服务绑定用户可见的状态栏通知,系统判定为用户正在使用的前台进程,进程优先级最高。系统内存紧张清理后台时,会优先回收后台进程、普通服务进程,前台服务最后被处理,且具备系统专属保护机制,普通后台清理无法终止服务运行。

Q2:本地服务与远程服务的选型与性能差异?

A:本地服务运行在应用主进程,无跨进程开销、性能高、调用简单,适用于普通单机后台任务;远程服务运行在独立进程,基于Binder通信存在少量性能开销,适用于跨模块、跨应用的进程交互场景。日常普通业务优先使用本地服务。

Q3:服务同时start与bind的生命周期与销毁规则?

A:叠加启动后生命周期顺序为onCreate→onStartCommand→onBind,服务同时具备后台常驻与双向通信能力。销毁需要同时执行unbind解绑与stopService停止操作,缺一不可,否则服务无法彻底销毁,多用于音乐播放等常驻且需要交互的业务。

Q4:onStartCommand四种返回值的区别与使用场景?

A:START_STICKY:服务被杀死后自动重启,不保留Intent,适用于常驻服务;START_NOT_STICKY:被杀死后不重启,适用于临时任务;START_REDELIVER_INTENT:重启后恢复原有任务Intent,适用于需要接续执行的精准任务;START_STICKY_COMPATIBLE:兼容旧版本重启逻辑。常驻后台任务优先使用START_STICKY。

Q5:Android8.0后台服务的核心限制与替代方案?

A:8.0系统禁止后台无感知启动服务,普通后台startService调用会被系统强制终止。轻量定时后台任务使用WorkManager替代,重度常驻后台任务使用前台服务实现,适配新版系统规则。

四、BroadcastReceiver 核心知识点与高频问题

广播是Android的组件解耦通信机制,可实现系统与应用、组件与组件、应用与应用之间的消息传递,核心考察注册方式、广播分类、安全机制与新版系统适配规则。

4.1 核心知识点梳理

  • 静态注册与动态注册:静态注册在清单文件配置,应用未启动也可接收广播,常驻生效,但资源占用高、安全性差,新版系统大部分静态隐式广播失效;动态注册通过代码实现,跟随组件生命周期,用完即解绑,灵活安全,为官方推荐方案。
  • 全局广播与本地广播:全局广播跨进程、跨应用可接收,易被劫持伪造;本地广播基于应用内部Handler机制通信,仅当前应用生效,无需权限、安全性高、性能更好。
  • 有序广播与无序广播:无序广播为异步群发,所有接收者同步接收,无法截断;有序广播按优先级逐级传递,高优先级接收者可截断广播、修改数据,可控性更强。
  • 新版适配规则:Android8.0废弃绝大部分静态隐式广播,静态注册无法接收系统隐式广播,需采用动态注册或指定应用包名才能正常接收。

4.2 高频面试问题解析

Q1:静态注册逐渐被弱化的核心原因?

A:静态注册常驻系统后台,占用系统资源、增加设备耗电,易引发应用自启、后台活跃问题;同时安全性较差,容易被恶意广播攻击篡改数据;且新版Android系统对静态隐式广播做了大量限制,多数场景直接失效,因此官方优先推荐动态注册。

Q2:本地广播相较于全局广播的安全优势与底层原理?

A:全局广播基于Binder跨进程通信,经过系统全局广播池,所有应用均可监听、拦截、伪造数据;本地广播基于应用内部Handler消息机制,仅在当前进程传递消息,不经过系统全局服务,外部应用无法干预,无需额外权限,安全性与性能更优。

Q3:有序广播的优先级控制与业务应用场景?

A:有序广播通过priority属性设置优先级,数值越大优先级越高,可优先接收广播。高优先级接收者可调用abortBroadcast()截断广播,阻止低优先级接收者接收消息。常用于全局权限校验、异常拦截、高优先级消息分发等场景。

五、ContentProvider 核心知识点与高频问题

ContentProvider是Android官方标准的跨进程数据共享组件,系统通讯录、相册、短信等结构化数据均基于该组件实现,核心考察跨进程原理、数据读写流程、监听机制与安全适配。

5.1 核心知识点梳理

  • 跨进程原理:底层封装Binder跨进程通信机制,对外提供统一Uri访问接口,屏蔽不同数据源的存储差异,实现安全可控的结构化数据共享。
  • CRUD流程:外部通过ContentResolver解析Uri,匹配目标ContentProvider,执行增删改查操作,全程由系统调度,具备线程安全特性。
  • 权限管控:支持自定义读写权限,可精细化区分内外访问权限,防止外部应用恶意篡改、窃取数据。
  • 数据监听机制:搭配ContentObserver可实时监听数据变更,无需轮询查询,实现全局数据实时同步,性能损耗低。
  • 适用场景:系统数据访问、跨应用数据共享、组件化跨模块数据交互、项目统一数据层封装。

5.2 高频面试问题解析

Q1:ContentProvider与AIDL的区别及项目选型?

A:ContentProvider聚焦结构化数据的增删改查共享,接口标准化、开箱即用,无需手动编写通信文件;AIDL聚焦跨进程方法调用与实时消息交互,灵活性更高。选型规则:结构化数据共享、数据库交互选用ContentProvider;跨进程业务方法调用、实时通信选用AIDL。

Q2:ContentObserver的底层原理与作用?

A:ContentObserver基于系统订阅机制实现,当ContentProvider数据发生变更时,会主动调用notifyChange发送通知,系统触发所有注册观察者的onChange回调,实时推送数据变更。该机制无需手动轮询,实时性强、性能优异,适用于用户信息、本地数据库、媒体数据的全局刷新。

Q3:如何保障自定义ContentProvider的数据安全?

A:通过三重机制保障安全:自定义区分读写权限,精细化管控外部访问权限;重写数据操作方法,拦截非法Uri与恶意请求;对外仅开放只读查询接口,限制外部写入、修改、删除权限,杜绝数据篡改与泄露风险。

六、四大组件进阶核心问题

6.1 四大组件启动优先级

系统组件启动优先级从高到低为:Activity > Service > BroadcastReceiver > ContentProvider。系统优先保障用户交互体验,因此页面交互组件优先级最高,后台服务次之,广播与内容提供者为辅助通信组件,优先级最低,资源紧张时会优先被回收。

6.2 新版Android核心适配难点

新版Android系统核心适配难点为后台管控收紧与权限精细化管控,传统后台服务、静态广播、非常规保活方案全部失效,隐私权限、后台权限限制严格。适配方案为摒弃违规开发方式,使用Jetpack官方组件替代传统能力,差异化适配高低版本,保障应用功能合规稳定。

6.3 四大组件内存泄漏规避方案

四大组件均存在内存泄漏风险,需针对性规避:Activity在销毁时解绑监听、终止子线程、清空引用;Service禁止持有静态上下文,及时释放后台任务资源;广播动态注册必须配对解绑;ContentProvider及时关闭游标、释放数据库资源,从根源避免资源残留与引用泄漏。

总结

四大组件是Android开发的基础核心骨架,组件化开发、跨进程通信、性能优化、系统适配等进阶技术,均基于四大组件延伸拓展。熟练掌握四大组件的生命周期、底层机制、使用规范与问题解决方案,是Android开发者夯实技术基础、应对面试与业务开发的核心要求。
本文系统化整合四大组件核心知识点与高频问题,内容贴合实战、排版规范、表述严谨,可作为长期学习与面试备考的标准参考文档。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-02 01:34:54 HTTP/2.0 GET : https://15386.cn/a/467897.html
  2. 运行时间 : 0.145275s [ 吞吐率:6.88req/s ] 内存消耗:4,326.82kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c60a1b8626ceaeb305db426b6b189088
  1. /yingpanguazai/ssd/ssd1/www/no.15386.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/no.15386.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/no.15386.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/no.15386.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/no.15386.cn/runtime/temp/97c957f747c268aee476c4e16775dd7c.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/no.15386.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001078s ] mysql:host=127.0.0.1;port=3306;dbname=no_15386;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001055s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000406s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000289s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000598s ]
  6. SELECT * FROM `set` [ RunTime:0.000232s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000801s ]
  8. SELECT * FROM `article` WHERE `id` = 467897 LIMIT 1 [ RunTime:0.000607s ]
  9. UPDATE `article` SET `lasttime` = 1780335294 WHERE `id` = 467897 [ RunTime:0.000873s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000209s ]
  11. SELECT * FROM `article` WHERE `id` < 467897 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000471s ]
  12. SELECT * FROM `article` WHERE `id` > 467897 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001877s ]
  13. SELECT * FROM `article` WHERE `id` < 467897 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006509s ]
  14. SELECT * FROM `article` WHERE `id` < 467897 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000951s ]
  15. SELECT * FROM `article` WHERE `id` < 467897 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002541s ]
0.146984s