代码拉取完成,页面将自动刷新
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Android Framework</title>
<meta name="generator" content="VuePress 1.9.10">
<meta name="description" content="">
<link rel="preload" href="/AndroidFrameworkTutorialPages/assets/css/0.styles.ec7aed17.css" as="style"><link rel="preload" href="/AndroidFrameworkTutorialPages/assets/js/app.80b9e0e5.js" as="script"><link rel="preload" href="/AndroidFrameworkTutorialPages/assets/js/7.4046385e.js" as="script"><link rel="preload" href="/AndroidFrameworkTutorialPages/assets/js/2.b8949bfe.js" as="script"><link rel="preload" href="/AndroidFrameworkTutorialPages/assets/js/1.1165d272.js" as="script"><link rel="preload" href="/AndroidFrameworkTutorialPages/assets/js/282.c3591d07.js" as="script"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/10.337b766a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/100.07b192a6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/101.d5e52f2f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/102.d4c4a661.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/103.54887ff9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/104.094e7d39.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/105.64664886.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/106.f4471270.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/107.a4d0d98b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/108.cfdce91a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/109.adf77d95.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/11.be2e0167.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/110.4b902c4e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/111.a6d53213.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/112.8d31a601.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/113.048ed52c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/114.62e09701.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/115.f3fdd391.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/116.c7f96e8d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/117.c4950fc8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/118.24404550.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/119.9cbda77c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/120.24acb0f6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/121.4359341a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/122.168e97dc.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/123.7a0a5fb2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/124.f76021da.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/125.53142690.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/126.1d478bae.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/127.835ff4e5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/128.e7bc50bd.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/129.be4bbe93.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/130.2c942479.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/131.4de846d6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/132.7ace0d82.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/133.b002a157.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/134.3a1ddada.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/135.eef5f002.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/136.429270b4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/137.d364723d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/138.cb6e1153.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/139.a4d2db68.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/14.7d944ea8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/140.8a5e67d9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/141.97bdd278.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/142.1e3e151b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/143.4e49ba41.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/144.5dd2008a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/145.7b619f79.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/146.75e85caa.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/147.9a03b4bc.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/148.5d00c5fb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/149.03738fe6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/15.bf19b574.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/150.717bd2d2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/151.a77e0685.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/152.07d63f74.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/153.23d55c4a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/154.6bdea3d2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/155.ba4baab2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/156.042f112c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/157.9cb282fe.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/158.4bb00966.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/159.56da200e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/16.91ebb564.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/160.783ddfbb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/161.078e06bb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/162.f183470a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/163.13a64009.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/164.796d0f57.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/165.fc2feb3b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/166.110badf6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/167.34b8e761.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/168.7f2e4dec.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/169.952472ae.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/17.bfe50ee3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/170.8727681d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/171.f018e955.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/172.8d938fde.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/173.f5456ea3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/174.f68a08d9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/175.02cb96d8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/176.a4a0fbea.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/177.3c5f8cf9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/178.648a86a6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/179.558710fa.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/18.05ccfb53.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/180.76969019.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/181.f8a1955e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/182.b083118c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/183.794fefb1.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/184.ed2242b5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/185.63ce77e4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/186.ab65ab52.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/187.2cabff49.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/188.64158f32.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/189.5fec14db.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/19.afa41ba1.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/190.faa2ed16.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/191.521ae331.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/192.d77dc624.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/193.39c7c08c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/194.b701647d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/195.ba39eb19.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/196.15a98cb4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/197.6f41173d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/198.7d9d5df2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/199.dd0f44e3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/20.e9510ad7.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/200.ecc0c467.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/201.dc3f6c5e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/202.3362898b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/203.142c925a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/204.2b8a746d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/205.06367692.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/206.f70b0eb7.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/207.9f04f53a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/208.4c711f2f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/209.a8b8885c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/21.86ad6466.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/210.81bb105f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/211.fc3be05f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/212.ba7b4faa.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/213.00cd159f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/214.c6c09359.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/215.ebefa813.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/216.b16bc429.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/217.3246c293.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/218.68584a3a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/219.5a749dda.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/22.09086018.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/220.f343977c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/221.b3917f1d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/222.7a591b79.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/223.503c8c7b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/224.9a7b8c99.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/225.cfc4ed27.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/226.3105355d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/227.0b3b87ab.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/228.cf955ab1.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/229.b8d9bbad.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/23.62e146ab.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/230.b59317ea.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/231.5fe0a702.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/232.11b6b5a8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/233.c50d4d79.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/234.13498d03.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/235.3b245c58.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/236.6f454dfd.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/237.f386b9cf.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/238.087d258e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/239.b0a32729.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/24.36df6bff.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/240.cd9d0e76.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/241.2d8a9127.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/242.7750675f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/243.8c7d06b5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/244.1ed06b9b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/245.cb02b499.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/246.4212436f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/247.716fac85.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/248.0674f7f6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/249.705aa796.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/25.99201ee4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/250.da4cebf2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/251.f3594af6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/252.d1b5f4c9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/253.194a6c9a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/254.0b1c51ff.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/255.0d86ac90.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/256.b5000bef.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/257.7ff895a0.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/258.897827c0.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/259.85a302c5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/26.0dad3cd4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/260.d06c50f7.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/261.f73017bb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/262.13696f92.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/263.b96591e6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/264.f695421f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/265.1d8cea78.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/266.32ab5ad8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/267.40f5b94b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/268.38429d25.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/269.d44e2901.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/27.be36597a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/270.dede9dd6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/271.496cb2b8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/272.4264ad0c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/273.5560ea0b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/274.30b05210.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/275.d618bfdf.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/276.6a468c24.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/277.739411bc.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/278.09724e9d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/279.a061bd36.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/28.4a19ff25.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/280.95d46f46.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/281.fed335c0.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/29.5c2b113e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/3.97bbbdc8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/30.38a9b8bb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/31.0d5a08c3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/32.804ecc25.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/33.a8e71e21.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/34.da185bf8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/35.e45072d9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/36.b81c8de2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/37.f26d2d52.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/38.d60bda38.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/39.2a23aa17.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/4.983d15c3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/40.9a73323f.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/41.42900ccd.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/42.10a23b66.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/43.4f3cf1ea.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/44.6ba13232.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/45.14bc6659.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/46.5cd2b6c2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/47.b53dbc24.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/48.43015adb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/49.1ac45e0a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/5.574f6fbb.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/50.92776b5c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/51.2a02c9f4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/52.15066a42.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/53.6c838a33.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/54.7e3a4138.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/55.d93f6275.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/56.e2b6dca3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/57.879ac89b.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/58.b41ceb31.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/59.d4752110.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/6.a4122f72.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/60.a8c87ab2.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/61.4dc637c3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/62.3a0f4d59.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/63.a7af0c59.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/64.f5bb06f4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/65.081aaf98.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/66.99d48d48.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/67.9729fe82.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/68.57a5f3c1.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/69.8cc70151.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/70.1bfd5523.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/71.51ce5d59.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/72.8e1b751c.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/73.3206f36a.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/74.0edf0183.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/75.4747ab27.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/76.887358f3.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/77.ffa6d8e8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/78.e10737b9.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/79.2593cbe8.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/8.9d6eb8a6.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/80.d01aa2ae.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/81.c35e3eaf.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/82.00f2d2a4.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/83.72e120f5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/84.d4092596.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/85.7bd957ce.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/86.30c250ad.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/87.34fa1f22.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/88.1aba8985.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/89.eb55d157.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/9.bee9eff5.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/90.d4956098.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/91.12fa758e.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/92.6b5ee375.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/93.921df475.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/94.10a06497.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/95.3d3c4812.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/96.4acf9c94.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/97.e8961905.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/98.2d6a15af.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/99.6f26e63d.js"><link rel="prefetch" href="/AndroidFrameworkTutorialPages/assets/js/vendors~docsearch.833ce4c0.js">
<link rel="stylesheet" href="/AndroidFrameworkTutorialPages/assets/css/0.styles.ec7aed17.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container" data-v-7dd95ae2><div data-v-7dd95ae2><div class="password-shadow password-wrapper-out" style="display:none;" data-v-59e6cb88 data-v-7dd95ae2 data-v-7dd95ae2><h3 class="title" data-v-59e6cb88>Android Framework</h3> <p class="description" data-v-59e6cb88></p> <label id="box" class="inputBox" data-v-59e6cb88><input type="password" value="" data-v-59e6cb88> <span data-v-59e6cb88>Konck! Knock!</span> <button data-v-59e6cb88>OK</button></label> <div class="footer" data-v-59e6cb88><span data-v-59e6cb88><i class="iconfont reco-theme" data-v-59e6cb88></i> <a target="blank" href="https://vuepress-theme-reco.recoluan.com" data-v-59e6cb88>vuePress-theme-reco</a></span> <span data-v-59e6cb88><i class="iconfont reco-copyright" data-v-59e6cb88></i> <a data-v-59e6cb88><!---->
<!---->
2024
</a></span></div></div> <div class="hide" data-v-7dd95ae2><header class="navbar" data-v-7dd95ae2><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/AndroidFrameworkTutorialPages/" aria-current="page" class="home-link router-link-exact-active router-link-active"><!----> <span class="site-name">Android Framework</span></a> <div class="links"><div class="color-picker"><a class="color-button"><i class="iconfont reco-color"></i></a> <div class="color-picker-menu" style="display:none;"><div class="mode-options"><h4 class="title">Choose mode</h4> <ul class="color-mode-options"><li class="dark">dark</li><li class="auto active">auto</li><li class="light">light</li></ul></div></div></div> <div class="search-box"><i class="iconfont reco-search"></i> <input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <!----></div></header> <div class="sidebar-mask" data-v-7dd95ae2></div> <aside class="sidebar" data-v-7dd95ae2><div class="personal-info-wrapper" data-v-1fad0c41 data-v-7dd95ae2><!----> <!----> <div class="num" data-v-1fad0c41><div data-v-1fad0c41><h3 data-v-1fad0c41>228</h3> <h6 data-v-1fad0c41>Articles</h6></div> <div data-v-1fad0c41><h3 data-v-1fad0c41>0</h3> <h6 data-v-1fad0c41>Tags</h6></div></div> <ul class="social-links" data-v-1fad0c41></ul> <hr data-v-1fad0c41></div> <!----> <ul class="sidebar-links"><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading open"><span>学习路线与指南</span> <span class="arrow down"></span></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/AndroidFrameworkTutorialPages/000. 学习路线与指南/Android Framework 学习路线.html" class="sidebar-link">Android Framework 学习路线</a></li></ul></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>基础篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>玩转AOSP篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>学穿Binder篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>基础组件篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>系统启动篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>Hal 与硬件服务篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>应用层框架篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>图形系统篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>输入系统篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>系统应用篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>构造系统篇</span> <span class="arrow right"></span></p> <!----></section></li><li><section class="sidebar-group collapsable depth-0"><p class="sidebar-heading"><span>项目实战</span> <span class="arrow right"></span></p> <!----></section></li></ul> </aside> <div class="password-shadow password-wrapper-in" style="display:none;" data-v-59e6cb88 data-v-7dd95ae2><h3 class="title" data-v-59e6cb88></h3> <!----> <label id="box" class="inputBox" data-v-59e6cb88><input type="password" value="" data-v-59e6cb88> <span data-v-59e6cb88>Konck! Knock!</span> <button data-v-59e6cb88>OK</button></label> <div class="footer" data-v-59e6cb88><span data-v-59e6cb88><i class="iconfont reco-theme" data-v-59e6cb88></i> <a target="blank" href="https://vuepress-theme-reco.recoluan.com" data-v-59e6cb88>vuePress-theme-reco</a></span> <span data-v-59e6cb88><i class="iconfont reco-copyright" data-v-59e6cb88></i> <a data-v-59e6cb88><!---->
<!---->
2024
</a></span></div></div> <div data-v-7dd95ae2><div class="home"><div class="hero"><!----> <h1 style="margin-top:140px;">
写给应用开发的 Android Framework 教程
</h1> <p class="description">
公众号:阿豪讲Framework
</p> <p class="action"><a href="/AndroidFrameworkTutorialPages/000. 学习路线与指南/Android Framework 学习路线.html" class="nav-link action-button"><i class="undefined"></i>
开始学习 →
</a></p></div> <!----> <div custom="" class="home-center content__default"></div></div> <div class="footer-wrapper footer" data-v-29dae040><span data-v-29dae040><i class="iconfont reco-theme" data-v-29dae040></i> <a target="blank" href="https://vuepress-theme-reco.recoluan.com" data-v-29dae040>vuepress-theme-reco@1.6.17</a></span> <!----> <span data-v-29dae040><i class="iconfont reco-copyright" data-v-29dae040></i> <a data-v-29dae040><!---->
<!---->
2024
</a></span> <span style="display:;" data-v-29dae040><i class="iconfont reco-eye" data-v-29dae040></i> <span id="/AndroidFrameworkTutorialPages/" data-flag-title="Your Article Title" class="leancloud-visitors" data-v-29dae040><a class="leancloud-visitors-count"></a></span></span> <!----> <div class="comments-wrapper" style="display:none;" data-v-29dae040><!----></div></div></div> <ul class="sub-sidebar sub-sidebar-wrapper" style="width:0;" data-v-b57cc07c data-v-7dd95ae2></ul></div></div></div><div class="global-ui"><div class="back-to-ceiling" style="right:1rem;bottom:6rem;width:2.5rem;height:2.5rem;border-radius:.25rem;line-height:2.5rem;display:none;" data-v-c6073ba8 data-v-c6073ba8><svg t="1574745035067" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5404" class="icon" data-v-c6073ba8><path d="M526.60727968 10.90185116a27.675 27.675 0 0 0-29.21455937 0c-131.36607665 82.28402758-218.69155461 228.01873535-218.69155402 394.07834331a462.20625001 462.20625001 0 0 0 5.36959153 69.94390903c1.00431239 6.55289093-0.34802892 13.13561351-3.76865779 18.80351572-32.63518765 54.11355614-51.75690182 118.55860487-51.7569018 187.94566865a371.06718723 371.06718723 0 0 0 11.50484808 91.98906777c6.53300375 25.50556257 41.68394495 28.14064038 52.69160883 4.22606766 17.37162448-37.73630017 42.14135425-72.50938081 72.80769204-103.21549295 2.18761121 3.04276886 4.15646224 6.24463696 6.40373557 9.22774369a1871.4375 1871.4375 0 0 0 140.04691725 5.34970492 1866.36093723 1866.36093723 0 0 0 140.04691723-5.34970492c2.24727335-2.98310674 4.21612437-6.18497483 6.3937923-9.2178004 30.66633723 30.70611158 55.4360664 65.4791928 72.80769147 103.21549355 11.00766384 23.91457269 46.15860503 21.27949489 52.69160879-4.22606768a371.15156223 371.15156223 0 0 0 11.514792-91.99901164c0-69.36717486-19.13165746-133.82216804-51.75690182-187.92578088-3.42062944-5.66790279-4.76302748-12.26056868-3.76865837-18.80351632a462.20625001 462.20625001 0 0 0 5.36959269-69.943909c-0.00994388-166.08943902-87.32547796-311.81420293-218.6915546-394.09823051zM605.93803103 357.87693858a93.93749974 93.93749974 0 1 1-187.89594924 6.1e-7 93.93749974 93.93749974 0 0 1 187.89594924-6.1e-7z" p-id="5405" data-v-c6073ba8></path><path d="M429.50777625 765.63860547C429.50777625 803.39355007 466.44236686 1000.39046097 512.00932183 1000.39046097c45.56695499 0 82.4922232-197.00623328 82.5015456-234.7518555 0-37.75494459-36.9345906-68.35043303-82.4922232-68.34111062-45.57627738-0.00932239-82.52019037 30.59548842-82.51086798 68.34111062z" p-id="5406" data-v-c6073ba8></path></svg></div></div></div>
<script src="/AndroidFrameworkTutorialPages/assets/js/app.80b9e0e5.js" defer></script><script src="/AndroidFrameworkTutorialPages/assets/js/7.4046385e.js" defer></script><script src="/AndroidFrameworkTutorialPages/assets/js/2.b8949bfe.js" defer></script><script src="/AndroidFrameworkTutorialPages/assets/js/1.1165d272.js" defer></script><script src="/AndroidFrameworkTutorialPages/assets/js/282.c3591d07.js" defer></script>
</body>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。