亂伦xxxx乱女在线播放,韩国床戏巜老师的滋味,大荫蒂女人毛多高潮,成人做受黄大片,国产精品搬运

课程咨询: 400-996-5531 / 投诉建议: 400-111-8989

认识达内从这里开始

认(ren)真做教育 专心促就业

android面试题大全及参考答案

  • 发布:达内
  • 来源:达内
  • 时间:2015-11-19 14:29

2015年最火的(de)大全及(ji)参(can)考(kao)答案。

1. 请描述一下Activity 生(sheng)命周期。

答: 如下图所示(shi)。共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy()。

onCreate(): 创建Activity时调用,设(she)置在该(gai)方法(fa)中,还(hai)以(yi)Bundle的形式提(ti)供对(dui)以(yi)前存储的任何(he)状态(tai)的访问。

onStart(): Activity变为在屏(ping)幕上对用户可见时调用。

onResume(): Activity开始与(yu)用户交互时调(diao)用(无论是启动(dong)还是重新启动(dong)一(yi)个活动(dong),该方(fang)法总是被调(diao)用。

onPause(): Activity被(bei)暂停或收(shou)回(hui)cpu和其他(ta)资源时调用,该方法用户保(bao)护(hu)活动状态的,也是保(bao)护(hu)现场。

onStop(): Activity被(bei)停(ting)止(zhi)并转为不可见阶段及后(hou)续的生(sheng)命周期事件(jian)时(shi)调用。

onRestart(): Activity被重(zhong)新启动(dong)时调用。该活动(dong)仍然在栈(zhan)中,而不是启动(dong)新的Activity。

1、完(wan)整生命周期: 即从(cong)一(yi)个Activity从(cong)出现到(dao)消失,对应的(de)周期方法是从(cong)onCreate()到(dao)onDestroy()。

2、可见生命(ming)周期: 当Activity处(chu)于可以(yi)用户看见的(de)状态,但不一定能与用户交互(hu)时,将(jiang)多次执行从onStart()到onStop()。

3、前(qian)景生命周期(qi): 当Activity处于(yu)Activity栈最顶端,能够与(yu)其他用户进行(xing)交互时,将(jiang)多次执行(xing)从onResume()到(dao)onPause()。

2. 两个(ge)Activity之间跳转(zhuan)时必然会执(zhi)行的是哪几个(ge)方法。

答: 两个Activity之间跳转必然会执行(xing)的是下面(mian)几个方法。

onCreate()//在Activity生命周期开始时调用。

onRestoreInstanceState()//用来恢复UI状态。

onRestart()//当(dang)Activity重新启动时调用(yong)。

onStart()//当Activity对(dui)用(yong)户即将(jiang)可见时调(diao)用(yong)。

onResume()//当Activity与(yu)用户交互时,绘制界面。

onSaveInstanceState()//即将移出栈顶保留(liu)UI状态时调用(yong)。

onPause()//暂停当(dang)前活动(dong)Activity,提(ti)交持(chi)久数据(ju)的(de)改变,停止动(dong)画或其他占用(yong)GPU资源的(de)东西(xi),由于下一个Activity在这个方(fang)法返回之前不会resume,所(suo)以这个方(fang)法的(de)代码执行要快。

onStop()//Activity不(bu)再可见时调用。

onDestroy()//Activity销毁栈时被调用的最后一个方法。

3. 横竖屏切换时(shi)候Activity的(de)生(sheng)命周期。

答: 1、不设置(zhi)Activity的android: configChanges时,切(qie)屏(ping)会(hui)重新调(diao)用各个生命(ming)周(zhou)期,切(qie)横屏(ping)时会(hui)执行一次,切(qie)竖(shu)屏(ping)时会(hui)执行两(liang)次。

2、设置Activity的android: configChanges=“orientation”时,切屏还是(shi)会重新调用各个(ge)生命周期(qi),切横、竖屏时只会执行一(yi)次(ci)。

3、设置Activity的android: configChanges=“orientation|keyboardHidden”时,切屏不会重新(xin)调(diao)用各个(ge)生命周期,只会执行onConfiguration方法

4. 如何将一个Activity设置成窗口(kou)的样式。

答: 第一(yi)种(zhong)方法,在styles.xml文(wen)件中,可以新建如下的类似(si)Dialog的style。

第二(er)种方法,在(zai)AndroidManifest.xml中在(zai)需(xu)要显(xian)示为(wei)(wei)窗(chuang)口的(de)(de)Activity中添加(jia)如下(xia)属性(xing): android: theme=“@style/Theme.FloatActivity”即可(ke)。也可(ke)以直(zhi)接添加(jia)对应需(xu)要展示为(wei)(wei)Dialog style的(de)(de)Activity的(de)(de)android: theme属性(xing)为(wei)(wei)android: theme=“@ android: style/Theme.Dialog”。

5. 两个Activity之间怎么传递数据(ju)?

答(da): 可以在Intent对(dui)象中利用Extra来传递存储数据。

在Intent的(de)对(dui)(dui)象请求中,使用putExtra(“键值(zhi)(zhi)对(dui)(dui)的(de)名字”,”键值(zhi)(zhi)对(dui)(dui)的(de)值(zhi)(zhi)”);在另外(wai)一个Activity中将Intent中的(de)请求数据(ju)取出来:

Intent intent = getIntent();

String value = intent.getStringExtra(“testIntent”);

6. 怎么让在启(qi)动一个(ge)Activity是就(jiu)启(qi)动一个(ge)service?

答: 首先(xian)定义好(hao)一个service,然后在Activity的(de)onCreate里(li)面进行连接并bindservice或者直接startService。

7. Activity怎么(me)和service绑(bang)定(ding),怎么(me)在activity中启动自己对应的service?

答(da): 1、activity能(neng)进行(xing)绑定(ding)得益(yi)于Serviece的接口。为了支(zhi)持Service的绑定(ding),实现(xian)onBind方(fang)法。

2、Service和Activity的(de)连(lian)接可以用ServiceConnection来实(shi)现。需要(yao)实(shi)现一(yi)个新的(de) ServiceConnection,重现onServiceConnected和OnServiceDisconnected方法(fa),一(yi)旦连(lian)接建(jian)立,就能得(de)到Service实(shi)例(li)的(de)引用。

3、执行绑(bang)定,调用bindService方法,传入(ru)一个选择(ze)了要绑(bang)定的Service的Intent(显示或隐式)和一个你实(shi)现(xian)了的ServiceConnection的实(shi)例

8.什(shen)(shen)么是Service以及描(miao)述(shu)下它的生命周期。Service有哪些启动方(fang)法,有什(shen)(shen)么区别(bie),怎样停用Service?

答: Android Service是(shi)运(yun)行(xing)在(zai)后台的(de)代(dai)码,不能与用户(hu)交互,可以运(yun)行(xing)在(zai)自(zi)己(ji)的(de)进程(cheng),也(ye)可以运(yun)行(xing)在(zai)其他应用程(cheng)序进程(cheng)的(de)上下文里。需要通过某一(yi)个(ge)Activity或者Context对象来调用。Service有两个(ge)启动方(fang)法,分(fen)别是(shi) Context.startService()和(he)Context.bindService()。如(ru)果在(zai)Service执行(xing)耗时的(de)操作(zuo)需要启动一(yi)个(ge)新线程(cheng)来执行(xing)。

Android Service只继承了onCreate(), onStart(),onDestroy()三个方(fang)(fang)(fang)法(fa)(fa),当(dang)我(wo)们第一次启(qi)动Service时(shi)(shi),先后调用onCreate(), onStart()这两个方(fang)(fang)(fang)法(fa)(fa),当(dang)停止Service时(shi)(shi),则执行onDestroy()方(fang)(fang)(fang)法(fa)(fa)时(shi)(shi)。如(ru)果(guo)Service已经启(qi)动了,当(dang)我(wo)们再(zai)次启(qi)动 Service时(shi)(shi),不会再(zai)执行onCreate()方(fang)(fang)(fang)法(fa)(fa),而是直接执行onStart()方(fang)(fang)(fang)法(fa)(fa)。

9. 什么时候(hou)使用Service?

答(da): 比(bi)如播放多媒体的时候,用户启动了其他Activity,这个时候程序要(yao)在后台(tai)(tai)继(ji)续(xu)播放,比(bi)如检测SD卡(ka)上文件的变(bian)化,再或者(zhe)在后台(tai)(tai)记录你的地理信息位置的改变(bian)等等。

10. 请描述一(yi)下(xia)Intent 和 Intent Filter。

答: Intent在Android中(zhong)被(bei)翻译为(wei)”意图”,他(ta)是(shi)(shi)三(san)种应用(yong)程(cheng)序基本组件-Activity,Service和broadcast receiver之间(jian)相互激(ji)活的(de)(de)手段。在调(diao)用(yong)Intent名(ming)称时(shi)使(shi)用(yong)ComponentName也就是(shi)(shi)类的(de)(de)全名(ming)时(shi)为(wei)显示(shi)调(diao)用(yong)。这种方式(shi)一般(ban)用(yong)于应用(yong)程(cheng)序的(de)(de)内部(bu)调(diao)用(yong),因(yin)为(wei)你不一定会知道(dao)别(bie)人写(xie)的(de)(de)类的(de)(de)全名(ming)。而(er)Intent Filter是(shi)(shi)指意图过滤(lv),不出(chu)现在代码(ma)中(zhong),而(er)是(shi)(shi)出(chu)现在android Manifest文件中(zhong),以的(de)(de)形式(shi)。(有一个(ge)例(li)外是(shi)(shi)broadcast receiver的(de)(de)intent

filter是(shi)使用Context.registerReceiver()来(lai)动(dong)态设(she)定的(de),其中(zhong)intent filter也是(shi)在代码中(zhong)创建的(de))

一(yi)(yi)(yi)个(ge)intent有(you)action,data,category等字段。一(yi)(yi)(yi)个(ge)隐式intent为了能够被某个(ge)intent filter接收(shou),必须(xu)通(tong)(tong)过3个(ge)测试,一(yi)(yi)(yi)个(ge)intent为了被某个(ge)组件接收(shou),则必须(xu)通(tong)(tong)过它(ta)所有(you)的intent filter中(zhong)的一(yi)(yi)(yi)个(ge)。

11. Intent传递(di)数据时,可(ke)以传递(di)哪些(xie)类型数据?

答: intent间传送数据一般有两种常(chang)用的方法: 1、extra 2、data。

extra可(ke)以用Intent.putExtra放入数据。新(xin)启(qi)动的Activity可(ke)用Intent.getExtras取出(chu)Bundle,然后用Bundles.getLong,getInt,getBoolean,getString等(deng)函数来取放进去的值(zhi)。

Data则是(shi)传输url。url可以(yi)是(shi)指我(wo)们熟悉的(de)http,ftp等网络地址,也可以(yi)指content来指向(xiang)ContentProvider提供的(de)资源。Intent.setData可以(yi)放入数据,Intent.getData可以(yi)取出数据。

12. 说说Activity,Intent,Service是什么(me)关系(xi) ?

答: 一(yi)个Activity通(tong)常是一(yi)个单独的(de)屏幕,每一(yi)个Activity都被实(shi)现为一(yi)个单独的(de)类(lei),这些类(lei)都是从Activity基类(lei)中继承而来(lai)的(de)。Activity类(lei)会显(xian)示由视(shi)图(tu)控件(jian)组(zu)成的(de)用户接口,并对(dui)视(shi)图(tu)控件(jian)的(de)事(shi)件(jian)做(zuo)出(chu)响应。

Intent的(de)调用是用来进行屏(ping)幕之间的(de)切换。Intent描述(shu)应(ying)用想(xiang)要(yao)做(zuo)什(shen)么(me)。Intent数(shu)据结构中两个最重要(yao)的(de)部分是动(dong)(dong)作和动(dong)(dong)作对(dui)应(ying)的(de)数(shu)据,一个动(dong)(dong)作对(dui)应(ying)一个动(dong)(dong)作数(shu)据。

Service是运(yun)行在后台的(de)代码,不能(neng)与(yu)用(yong)户(hu)交互,可(ke)以(yi)运(yun)行在自己的(de)进程(cheng)里,也(ye)可(ke)以(yi)运(yun)行在其他应用(yong)程(cheng)序进程(cheng)的(de)上(shang)下文里。需要(yao)一个Activity或(huo)者其他Context对象来(lai)调用(yong)。

Activity跳转Activity,Activity启(qi)动Service,Service打开Activity都需要(yao)Intent表明意图,以(yi)及传递参(can)数,Intent是这些组(zu)件间信号传递的承载(zai)着。

13. 请描述一下BroadcastReceiver。

答: Broadcast Receiver用(yong)于接收(shou)并处理(li)广(guang)播(bo)通(tong)知(zhi)(broadcast announcements)。多(duo)数的(de)广(guang)播(bo)是系统发起的(de),如地域变换、电(dian)量不(bu)足(zu)、来(lai)(lai)电(dian)短信(xin)等。程(cheng)序也可(ke)以播(bo)放一(yi)个(ge)广(guang)播(bo)。程(cheng)序可(ke)以有(you)任意数量的(de) broadcast receivers来(lai)(lai)响(xiang)应它觉(jue)得重要的(de)通(tong)知(zhi)。Broadcast receiver可(ke)以通(tong)过多(duo)种方式(shi)通(tong)知(zhi)用(yong)户: 启动activity、使用(yong)NotificationManager、开(kai)启背(bei)景灯、振动设备、播(bo)放声音(yin)等,最(zui)典型的(de)是在状态栏(lan)显示一(yi)个(ge)图标,这样用(yong)户就可(ke)以点它打开(kai)看通(tong)知(zhi)内容。通(tong)常我们(men)的(de)某个(ge)应用(yong)或系统本身(shen)在某些(xie)事件(电(dian)池电(dian)量不(bu)足(zu)、来(lai)(lai)电(dian)短信(xin))来(lai)(lai)临时会广(guang)播(bo)一(yi)个(ge)Intent出去,我们(men)利用(yong)注册一(yi)个(ge) broadcast

receiver来监听这些Intent并获取Intent中的数据。

15. 请介绍下ContentProvider是如何(he)实现数据共享(xiang)的。

答(da): 一个(ge)(ge)程序(xu)(xu)可(ke)以(yi)通过(guo)实现一个(ge)(ge)Content provider的(de)抽象接口(kou)将自己(ji)的(de)数(shu)(shu)据完全暴露出去,而且Content provider是以(yi)类似数(shu)(shu)据库中的(de)表的(de)方式将自己(ji)的(de)数(shu)(shu)据暴露。Content provider存储(chu)和检索数(shu)(shu)据,通过(guo)它可(ke)以(yi)让所有的(de)应(ying)(ying)用程序(xu)(xu)访(fang)问(wen)到,这(zhei)也是应(ying)(ying)用程序(xu)(xu)之间唯一共享数(shu)(shu)据的(de)方法。

要(yao)想使应用程(cheng)(cheng)序的(de)(de)数据(ju)公(gong)开化(hua),可通过2种方法:创建一个(ge)数据(ju)自己的(de)(de)Content Provider或者将你的(de)(de)数据(ju)添加到一个(ge)已经存在的(de)(de)Content Provider中,前提是有(you)相同数据(ju)类型并且有(you)写(xie)入Content Provider的(de)(de)权(quan)限(xian),Android提供了(le)Content Resolverr,外界的(de)(de)程(cheng)(cheng)序可以通过Content Resolver接口访(fang)问(wen)Content Provider提供的(de)(de)数据(ju)。

16. 请介绍下Android的(de)数(shu)据存储方(fang)式。

答: Android提供了5中存储(chu)数据的方式,分别是以下几种

1、使(shi)用Shared Preferences存(cun)储(chu)数(shu)据(ju),用来(lai)存(cun)储(chu)key-value,pairs格(ge)式的(de)数(shu)据(ju),它(ta)是一个(ge)轻(qing)量(liang)级的(de)键值存(cun)储(chu)机制(zhi),只可以存(cun)储(chu)基本数(shu)据(ju)类型。

2、使用文件(jian)存储数(shu)据,通过(guo)FileInputStream和FileOutputStream对文件(jian)进行操作。在Android中,文件(jian)是一个(ge)应(ying)用程(cheng)序私有的,一个(ge)应(ying)用程(cheng)序无法读写其他(ta)应(ying)用程(cheng)序的文件(jian)。

3、使用ite数(shu)据库存储数(shu)据,Android提供的一个标准(zhun)数(shu)据库,支持SQL语句(ju)。

4、使(shi)用(yong)Content Provider存储数(shu)(shu)据(ju)(ju)(ju),是所有应(ying)(ying)用(yong)程序之间数(shu)(shu)据(ju)(ju)(ju)存储和检(jian)索的(de)(de)(de)(de)一个(ge)桥梁(liang),它(ta)的(de)(de)(de)(de)作用(yong)就是使(shi)得各个(ge)应(ying)(ying)用(yong)程序之间实现(xian)(xian)数(shu)(shu)据(ju)(ju)(ju)共享。它(ta)是一个(ge)特殊的(de)(de)(de)(de)存储数(shu)(shu)据(ju)(ju)(ju)的(de)(de)(de)(de)类型,它(ta)提(ti)供(gong)了一套标准的(de)(de)(de)(de)接口用(yong)来(lai)获取数(shu)(shu)据(ju)(ju)(ju),操作数(shu)(shu)据(ju)(ju)(ju)。系(xi)统也(ye)提(ti)供(gong)了音频(pin)、视频(pin)、图像和个(ge)人信息等几个(ge)常用(yong)的(de)(de)(de)(de)Content Provider。如果你(ni)想公开自(zi)(zi)己(ji)的(de)(de)(de)(de)私有数(shu)(shu)据(ju)(ju)(ju),可以创建(jian)自(zi)(zi)己(ji)的(de)(de)(de)(de)Content Provider类,或者当你(ni)对这(zhei)些数(shu)(shu)据(ju)(ju)(ju)拥有控制写入的(de)(de)(de)(de)权限时,将这(zhei)些数(shu)(shu)据(ju)(ju)(ju)添加到Content Provider中实现(xian)(xian)共享。外部(bu)访(fang)(fang)问(wen)通过(guo)Content Resolver去访(fang)(fang)问(wen)并操作这(zhei)些被(bei)暴(bao)露的(de)(de)(de)(de)数(shu)(shu)据(ju)(ju)(ju)。

5、使(shi)用(yong)网络存储(chu)数据(ju)

17. 请介(jie)绍(shao)下Android中常(chang)用(yong)的五(wu)种布局。

答: 最常用(yong)的布局方(fang)式为(wei)Absolute Layout、Relative Layout、Linear Layout、FrameLayout、TableLayout。其中Linear Layout和Relative Layout是最常用(yong)的方(fang)式,他(ta)们可以通过在xml配(pei)置文件或者(zhe)代码中进行(xing)布局。

1、Frame Layout是最简单的(de)(de)布(bu)局方式,放(fang)置的(de)(de)控件都只能罗列到左上角,控件会(hui)有(you)重叠(die),不能进(jin)行复杂(za)的(de)(de)布(bu)局。

2、Linear Layout可(ke)以通过orientation属性(xing)设置线性(xing)排列的方向(xiang)是垂(chui)直还是纵向(xiang)的,每行(xing)或每列只(zhi)有一个元素(su),可(ke)以进(jin)行(xing)复杂的布局。

3、Absolute Layout可以让(rang)子元素指定准确的x、y坐标值,并显(xian)示在屏幕(mu)上。Absolute Layout没有页边框,允许元素之间相互重叠(die)。它是绝对坐标,所以在实际中(zhong)不提倡(chang)使用。

4、Relative Layout允许子元(yuan)素(su)制(zhi)定(ding)他(ta)们相对于(yu)(yu)其他(ta)元(yuan)素(su)或父元(yuan)素(su)的位置(zhi)(zhi)(通过(guo)ID制(zhi)定(ding))。因此,你可以(yi)(yi)以(yi)(yi)右对齐,或上下,或置(zhi)(zhi)于(yu)(yu)屏(ping)幕中(zhong)(zhong)央的形式来(lai)排列(lie)两个元(yuan)素(su)。元(yuan)素(su)按顺(shun)序排列(lie),因此如果第一(yi)个元(yuan)素(su)在(zai)屏(ping)幕的中(zhong)(zhong)央,那么相对于(yu)(yu)这(zhei)个元(yuan)素(su)的其他(ta)元(yuan)素(su)将以(yi)(yi)屏(ping)幕中(zhong)(zhong)央的相对位置(zhi)(zhi)来(lai)排列(lie)。这(zhei)个是相对于(yu)(yu)Absolute Layout的,采用相对坐(zuo)标,所以(yi)(yi)在(zai)实(shi)际(ji)中(zhong)(zhong)比较常用。

5、Table Layout将(jiang)以子元素的位置分配到行或列。一(yi)个Table Layout由许多的Table Row组成(cheng),每个Table Row都会定义(yi)一(yi)个row。Table Layout容器(qi)不会显示row、column或者cell的边线框。每个row拥有0个或多个的cell; 和html中(zhong)的table差不多。在实际中(zhong)也经(jing)常使用。

18. 谈谈UI中, Padding和Margin有什么区别(bie)?

答: Padding是控(kong)(kong)(kong)件的(de)内容相对控(kong)(kong)(kong)件的(de)边缘的(de)边距,而Margin是控(kong)(kong)(kong)件边缘相对于其(qi)他控(kong)(kong)(kong)件的(de)边距。如下(xia)图(tu)所示:

19. android本身的(de)一(yi)些限(xian)制,比如apk包大小限(xian)制,读取大文件(jian)时(shi)的(de)时(shi)间限(xian)。

答:apk包大小限制不好说,有(you)的(de)apk为(wei)100M,还(hai)是(shi)能装到手机上(shang)。一(yi)般(ban)的(de)apk大小为(wei)5~10M左右(you)。读取大文件的(de)时间(jian)应(ying)该是(shi)在main线(xian)程里面,时间(jian)限制为(wei)5秒左右(you)。

20. ListView如何提高其效率?

答:1、使用(yong)分页加载(zai),不要一(yi)次性加载(zai)所有数据(ju)。

2、复(fu)用convertView。在getItemView中,判断converView是否(fou)为空,如果不为空,可复(fu)用。

3、异步(bu)加载(zai)图片(pian)。Item中如果包(bao)含有webimage,那(nei)么最好异步(bu)加载(zai)。

4、快速(su)滑(hua)(hua)动时,不(bu)显示(shi)图片。当快速(su)滑(hua)(hua)动列表(SCROLL_STATE_FLING),item中的图片或获(huo)取需要消耗资源的view,可以不(bu)显示(shi)出来;而处(chu)于其他两种(zhong)状态(SCROLL_STATE_IDLE和SCROLL_STATE_TOUCH_SCROLL),则将那些view显示(shi)出来

22. 谈谈对(dui)Android NDK的理(li)解。

答: android NDK是一套工具,允许Android应用开(kai)发者嵌入从C、C++源(yuan)代码编译来(lai)的本地机器代码到各自的应用软件(jian)包中。

1、 NDK是一系列工具的集合。

NDK提供了一系列的(de)(de)工(gong)具,帮助开(kai)发者快速开(kai)发C(或C++)的(de)(de)动(dong)(dong)态(tai)库,并能自动(dong)(dong)将(jiang)so和java应用一起打(da)包成apk。这些工(gong)具对开(kai)发者帮助时巨大的(de)(de)。

NDK集成(cheng)了(le)交叉编(bian)辑(ji)器,并提供了(le)相应的(de)(de)mk文件隔离(li)CPU、平台(tai)、API等差(cha)异(yi),开发人员(yuan)只需(xu)要简(jian)单修改mk文件(指出“那些文件需(xu)要编(bian)译”、“编(bian)译特性要求”等),就可(ke)以(yi)创建出so。NDK可(ke)以(yi)自动将(jiang)so和应用一起打(da)包,极大的(de)(de)减轻了(le)开发人员(yuan)的(de)(de)打(da)包工(gong)作(zuo)。

2、NDK提供(gong)了一份稳定(ding)、功能有限的API头文件声(sheng)明。这些(xie)API支(zhi)持的功能非常有限,包(bao)含(han)有:C标(biao)准(zhun)库(libc)、标(biao)准(zhun)数学(xue)库(libm)、压缩库(libz)、log库(liblog)。

23. 谈(tan)谈(tan)Android的(de)优(you)点和不(bu)足(zu)之处。

答: 优点如下所示:

1、android是开源、市场占有(you)率大。

2、android能够有(you)丰富的(de)硬件选择。

3、android是一款基于Linux平台(tai)的开源操作(zuo)系(xi)统,从而避免了专利壁垒,是一款完全免费(fei)的只(zhi)能手机平台(tai)。

4、由于android是google开发的,因此(ci)能够无缝结合Google应用。

缺点如下所示:

1、安全(quan)与隐(yin)私(si)。手机与互(hu)联(lian)网紧(jin)密联(lian)系,个人隐(yin)私(si)很难得到保守。

24. Android系(xi)统中GC什(shen)么情(qing)况下会出现(xian)内存泄露呢(ni)?

答: 导致内(nei)存(cun)(cun)泄露主要(yao)的原(yuan)因(yin)是(shi)(shi),先前(qian)申请(qing)了内(nei)存(cun)(cun)空间(jian)而忘记了释放。如果程序中存(cun)(cun)在(zai)无(wu)(wu)用对(dui)(dui)象(xiang)(xiang)(xiang)的引用,那么这(zhei)些对(dui)(dui)象(xiang)(xiang)(xiang)就会驻(zhu)留(liu)内(nei)存(cun)(cun),消耗内(nei)存(cun)(cun),因(yin)为无(wu)(wu)法让垃圾回收(shou)器 GC验证这(zhei)些对(dui)(dui)象(xiang)(xiang)(xiang)是(shi)(shi)否不再(zai)需(xu)要(yao)。如果存(cun)(cun)在(zai)对(dui)(dui)象(xiang)(xiang)(xiang)的引用,这(zhei)个对(dui)(dui)象(xiang)(xiang)(xiang)就被(bei)定义为“有效(xiao)的活动”,同(tong)时(shi)不会被(bei)释放。要(yao)确(que)定对(dui)(dui)象(xiang)(xiang)(xiang)所占内(nei)存(cun)(cun)将被(bei)回收(shou),我们就要(yao)确(que)认该对(dui)(dui)象(xiang)(xiang)(xiang)不会再(zai)被(bei)使用。典型的做(zuo)法是(shi)(shi)把对(dui)(dui)象(xiang)(xiang)(xiang)数据(ju)成员设(she)为null或者从集合中移除该对(dui)(dui)象(xiang)(xiang)(xiang)。当(dang)出现(xian)以(yi)下(xia)情(qing)况时(shi),会造成内(nei)存(cun)(cun)泄露:

1、 数据库的cursor没(mei)有关闭。

2、 构造(zao)adapter时,没有使(shi)用缓存contentview。

3、 Bitmap对象不使用(yong)时,采用(yong)recycle()释放内存。

4、 Activity中的(de)对(dui)象的(de)生命周期大于(yu)activity。

调试方法: DDMS==>HEAIZE==>dataobject==>[TotalSize]

25. Android UI中(zhong)的View如何刷新。

答: Android中(zhong)对(dui)View的更(geng)新(xin)方式有(you)很多种,使用时(shi)要区分不同的应用场合。要分清的是(shi):多线(xian)程和双缓冲。

1、不使用多(duo)线程和双缓冲

这种情况最简单(dan),一般只希望View在发生改变时(shi)对UI进行重(zhong)绘。你只需要Activity中显式调用(yong)View对象中的invalidate()方(fang)(fang)法(fa)即可。系(xi)统会自动调用(yong)View的onDraw()方(fang)(fang)法(fa)。

2、使用多(duo)线程和不使用双(shuang)缓冲

这种情况下需要开启新的(de)线程(cheng)(cheng),新开的(de)线程(cheng)(cheng)就不(bu)好访问View对象了。强行访问的(de)话会报错:android.view.ViewRoot$ CalledFromWrongThreadException: only theoriginal thread that created a view hierarchy can touch its views。

这时候你(ni)需要(yao)创(chuang)建一个继承(cheng)了android.os.handler的(de)(de)子类,并重写(xie)handleMessage方(fang)法(fa)。 Android.os.Handle是能发送(song)和处理消(xiao)息(xi)(xi)的(de)(de),你(ni)需要(yao)在(zai)Activity中(zhong)发出更新UI的(de)(de)消(xiao)息(xi)(xi),然(ran)后(hou)再你(ni)的(de)(de)Handler(可以(yi)使用匿名(ming)内部(bu)类)中(zhong)处理消(xiao)息(xi)(xi)(因为匿名(ming)内部(bu)类可以(yi)访(fang)问父类变量,你(ni)可以(yi)直接(jie)调(diao)用View对象中(zhong)的(de)(de)invalidate()方(fang)法(fa)。也就是说:在(zai)新线程(cheng)中(zhong)创(chuang)建并发送(song)一个 Message,然(ran)后(hou)在(zai)主线程(cheng)中(zhong)捕获、处理该(gai)消(xiao)息(xi)(xi)。

3、使用多线程和双缓冲

Android的SurfaceView是View的子类,她(ta)同时也实(shi)现(xian)了双(shuang)缓冲。你可以(yi)定(ding)义一个她(ta)的子类并实(shi)现(xian) Surfaceholder.Callback接口(kou)(kou)。由于SurfaceHolder.Callback接口(kou)(kou),新线程就不要 android.os.Handler帮忙了。SurfaceHolder中lockCanvas()方法可以(yi)锁(suo)定(ding)画布(bu),绘制完新的图像(xiang)后调用 unlockCanvasand Post解锁(suo)。

【免(mian)责声明】本(ben)文部分系(xi)转载,转载目(mu)的(de)(de)(de)在于传递(di)更多信息,并不(bu)代表本(ben)网赞同其观点和对其真实性负责。如涉及作品(pin)内(nei)容、版权(quan)和其它问题,请在30日内(nei)与联系(xi)我(wo)们(men),我(wo)们(men)会予以更改(gai)或(huo)删除亂(luan)伦xxxx乱(luan)女在线播放,韩国床戏巜老师的(de)(de)(de)滋味,大(da)荫蒂女人毛多高潮,成(cheng)人做(zuo)受(shou)黄(huang)大(da)片,国产精(jing)品(pin)搬(ban)运相关的(de)(de)(de)文章,以保(bao)证您(nin)的(de)(de)(de)权(quan)益!

相关推荐
最新资讯
免费试听课程
  • 全部课程
  • IT课程
  • 设计课程
  • 运营课程
Free courses
最新开班时间
  • 北京
  • 上海
  • 广州
  • 深圳
  • 南京
  • 成都
  • 武汉
  • 西安
  • 青岛
  • 天津
  • 杭州
  • 重庆
  • 哈尔滨
  • 济南
  • 沈阳
  • 合肥
  • 郑州
  • 长春
  • 苏州
  • 长沙
  • 昆明
  • 太原
  • 无锡
  • 石家庄
  • 南宁
  • 佛山
  • 珠海
  • 宁波
  • 保定
  • 呼和浩特
  • 洛阳
  • 烟台
  • 运城
  • 潍坊
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
  • 开课名称
  • 开班时间
  • 抢座
  • 咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 人工智能工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 数据分析与商业智能
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 新媒体电商运营
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 云计算全栈开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • Java全链路开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AGI商业设计变现
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 网络安全工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • C++物联网工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 软件测试工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • AI大模型全栈工程师
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • 鸿蒙原生应用开发
    • 8月29日
    • 火热抢座中
    • 立即咨询
    • VFX商业视效设计
    • 8月29日
    • 火热抢座中
    • 立即咨询
预约申请试听课
收起