1 page.title= 2 page.keywords=preview,sdk,compatibility 3 meta.tags="preview", "compatibility" 4 page.tags="preview", "developer preview" 5 page.image=images/cards/card-n-changes_2x.png 6 @jd:body 7 8 9 <div id="qv-wrapper"> 10 <div id="qv"> 11 12 <h2></h2> 13 14 <ol> 15 <li><a href="#perf"></a> 16 <ol> 17 <li><a href="#doze">Doze</a></li> 18 <li><a href="#bg-opt"></a></li> 19 </ol> 20 </li> 21 <li><a href="#perm"></a> 22 </li> 23 <li><a href="#sharing-files"></a></li> 24 <li><a href="#accessibility"></a> 25 <ol> 26 <li><a href="#screen-zoom"></a></li> 27 <li><a href="#vision-settings"> [Vision Settings]</a></li> 28 </ol> 29 </li> 30 <li><a href="#ndk"> NDK </a></li> 31 <li><a href="#afw">Android for Work</a></li> 32 <li><a href="#annotations"></a></li> 33 <li><a href="#other"></a></li> 34 </ol> 35 36 <h2></h2> 37 <ol> 38 <li><a href="{@docRoot}preview/api-overview.html">Android N API </a> 39 </li> 40 </ol> 41 42 </div> 43 </div> 44 45 46 <p> 47 Android N API 48 49 50 51 </p> 52 53 <p> 54 Android 55 56 </p> 57 58 59 <h2 id="perf"></h2> 60 61 <p> 62 Android N RAM 63 64 65 66 </p> 67 68 <h3 id="doze">Doze</h3> 69 70 <p> 71 Android 6.0API 23 Doze CPU 72 73 Android N Doze CPU 74 75 76 77 </p> 78 79 80 <img src="{@docRoot}preview/images/doze-diagram-1.png" alt="" height="251px" id="figure1" /> 81 <p class="img-caption"> 82 <strong> 1.</strong> Doze 1 83 84 </p> 85 86 <p> 87 Doze 88 89 Doze Doze {@link android.os.PowerManager.WakeLock}{@link android.app.AlarmManager} GPSWi-Fi 90 91 92 Doze Doze 93 94 95 96 </p> 97 98 99 <img src="{@docRoot}preview/images/doze-diagram-2.png" alt="" id="figure2" /> 100 <p class="img-caption"> 101 <strong> 2.</strong> Doze 2 102 103 </p> 104 105 <p> 106 Doze 107 <a href="{@docRoot}training/monitoring-device-state/doze-standby.html">Doze </a>Android 6.0API 23 Doze 108 109 110 111 Google Cloud MessagingGCM Doze 112 113 114 115 </p> 116 117 118 <h3 id="bg-opt">Project Svelte:</h3> 119 120 <p> 121 Android N 3 122 123 124 125 126 </p> 127 128 <p> 129 Wi-Fi 130 {@link 131 android.net.ConnectivityManager#CONNECTIVITY_ACTION} 132 133 134 135 136 </p> 137 138 <p> 139 Android {@link 140 android.hardware.Camera#ACTION_NEW_PICTURE} {@link 141 android.hardware.Camera#ACTION_NEW_VIDEO} 142 143 144 </p> 145 146 <p> 147 Android N 148 149 </p> 150 151 <ul> 152 <li>Android N {@link 153 android.net.ConnectivityManager#CONNECTIVITY_ACTION} 154 {@link android.content.BroadcastReceiver} {@code CONNECTIVITY_CHANGE} 155 156 157 </li> 158 159 <li>{@link 160 android.hardware.Camera#ACTION_NEW_PICTURE} {@link 161 android.hardware.Camera#ACTION_NEW_VIDEO} Android N 162 163 </li> 164 </ul> 165 166 <p>Android N 167 168 Android 169 {@link 170 android.app.job.JobScheduler} API 171 172 {@link 173 android.app.job.JobScheduler} 174 </p> 175 176 <p> 177 N <a href="{@docRoot}preview/features/background-optimization.html"></a> 178 179 180 </p> 181 182 <h2 id="perm"></h2> 183 184 <p> 185 Android N 186 </p> 187 188 <h3 id="permfilesys"> </h3> 189 190 <p> 191 Android N <code>0700</code> 192 193 194 195 </p> 196 197 <ul> 198 <li> 199 {@link android.content.Context#MODE_WORLD_READABLE} {@link android.content.Context#MODE_WORLD_WRITEABLE} {@link java.lang.SecurityException} 200 201 202 203 204 <p class="note"> 205 <strong>:</strong> 206 API {@link java.io.File File} API 207 208 209 </p> 210 </li> 211 <li> 212 <code>file://</code> URI 213 <code>file://</code> URI <code>FileUriExposedException</code> 214 215 {@link 216 android.support.v4.content.FileProvider} 217 218 </li> 219 <li> 220 {@link android.app.DownloadManager} 221 {@link 222 android.app.DownloadManager#COLUMN_LOCAL_FILENAME} 223 Android N {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} {@link java.lang.SecurityException} 224 225 226 227 {@link 228 android.app.DownloadManager.Request#setDestinationInExternalFilesDir 229 DownloadManager.Request.setDestinationInExternalFilesDir()} {@link 230 android.app.DownloadManager.Request#setDestinationInExternalPublicDir 231 DownloadManager.Request.setDestinationInExternalPublicDir()} {@link android.app.DownloadManager#COLUMN_LOCAL_FILENAME} 232 233 234 235 236 237 {@link android.app.DownloadManager} {@link android.content.ContentResolver#openFileDescriptor 238 ContentResolver.openFileDescriptor()} 239 240 241 </li> 242 </ul> 243 244 <h2 id="sharing-files"></h2> 245 246 <p> 247 Android N Android {@code file://} URI {@link android.os.StrictMode} API 248 249 URI {@code FileUriExposedException} 250 251 </p> 252 253 <p> 254 {@code content://} URI URI 255 {@link android.support.v4.content.FileProvider} 256 <a href="{@docRoot}training/secure-file-sharing/index.html"></a> 257 258 259 </p> 260 261 <h2 id="accessibility"></h2> 262 263 <p> 264 Android N 265 266 267 268 269 </p> 270 271 272 <h3 id="screen-zoom"></h3> 273 274 <p> 275 Android N <strong> </strong> 276 277 Nexus 4 <a href="http://developer.android.com/guide/topics/resources/providing-resources.html">sw320dp</a> 278 279 280 </p> 281 282 <div class="cols"> 283 284 <div class="col-6"> 285 <img src="{@docRoot}preview/images/screen-zoom-1.png" alt="" height="XXX" id="figure1" /> 286 </div> 287 <div class="col-6"> 288 <img src="{@docRoot}preview/images/screen-zoom-2.png" alt="" height="XXX" id="figure1" /> 289 </div> 290 291 </div> <!-- end cols --> 292 <p class="img-caption"> 293 <strong> 3.</strong> Android N 294 295 </p> 296 297 298 <p> 299 300 301 </p> 302 303 <ul> 304 <li> API 23 305 [<em>Settings</em>] <strong> </strong> 306 307 308 <a href="{@docRoot}guide/topics/resources/runtime-changes.html"></a> 309 310 311 312 </li> 313 314 <li> Android N <a href="{@docRoot}guide/topics/resources/runtime-changes.html"></a> 315 316 317 318 </li> 319 </ul> 320 321 <p> 322 Android 323 324 </p> 325 326 <ul> 327 <li> <code><a href= 328 "{@docRoot}guide/topics/resources/providing-resources.html">sw320dp</a></code> 329 330 </li> 331 332 <li> 333 334 335 336 <p class="note"> 337 <strong>:</strong> 338 339 340 341 342 </p> 343 </li> 344 345 <li> 346 <a href="{@docRoot}guide/practices/screens_support.html"></a><code>dp</code> 347 348 </li> 349 </ul> 350 351 <h3 id="vision-settings"> [Vision Settings]</h3> 352 353 <p> 354 Android N [Vision Settings] 355 356 <strong></strong><strong></strong><strong> </strong><strong>TalkBack</strong> 357 358 359 360 <strong>[Settings] > [Accessibility]</strong> 361 362 </p> 363 364 <h2 id="ndk"> NDK </h2> 365 366 <p> 367 Android N API 368 NDK Android API 369 Android API 370 371 </p> 372 373 <p> 374 API API Android N logcat 375 376 377 API 378 379 380 </p> 381 382 <p> 383 NDK API API 384 385 <code>libpng</code> NDK 386 387 APK .so 388 389 </p> 390 391 <p class="caution"> 392 <strong>:</strong> API 393 Android 394 395 </p> 396 397 <p> 398 NDK Android 399 400 OpenSSL BoringSSL 401 NDK 402 403 NDK Android API 404 405 </p> 406 407 <p> 408 Android N Java NDK 409 410 </p> 411 412 <p>Java </p> 413 <pre class="no-pretty-print"> 414 java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libcutils.so" 415 is not accessible for the namespace "classloader-namespace" 416 </pre> 417 418 <p>NDK </p> 419 <pre class="no-pretty-print"> 420 dlopen failed: cannot locate symbol "__system_property_get" referenced by ... 421 </pre> 422 423 424 <p> 425 426 </p> 427 428 <ul> 429 <li>libandroid_runtime.so getJavaVM getJNIEnv JNI 430 431 <pre class="no-pretty-print"> 432 AndroidRuntime::getJavaVM -> GetJavaVM from <jni.h> 433 AndroidRuntime::getJNIEnv -> JavaVM::GetEnv or 434 JavaVM::AttachCurrentThread from <jni.h>. 435 </pre> 436 </li> 437 438 <li>{@code libcutils.so} {@code property_get} public {@code alternative __system_property_get} 439 440 include {@code __system_property_get} 441 <pre> 442 #include <sys/system_properties.h> 443 </pre> 444 </li> 445 446 <li>{@code libcrypto.so} {@code SSL_ctrl} 447 {@code .so} {@code libcyrpto.a} BoringSSL OpenSSL {@code libcrypto.so} 448 449 450 </li> 451 </ul> 452 453 <h2 id="afw">Android for Work</h2> 454 <p> 455 Android N Android for Work 456 457 Android for Work 458 459 460 </p> 461 462 <ul> 463 <li>DPC 464 N SDK DPC <code>DevicePolicyManager.setCertInstallerPackage()</code> 465 466 467 <code>IllegalArgumentException</code> 468 469 470 </li> 471 472 <li> 473 {@code DevicePolicyManager.resetPassword()} 474 475 PIN 476 477 </li> 478 479 <li> 480 <code>DISALLOW_MODIFY_ACCOUNTS</code> API 481 482 </li> 483 484 <li> <code>DISALLOW_ADD_USER</code> 485 486 487 <code>CreateUser()</code> <code>createAndInitializeUser()</code> <code>DevicePolicyManager.createAndManageUser()</code> 488 489 490 </li> 491 492 <li> <code>DevicePolicyManagewr.getWifiMacAddress()</code> Wi-Fi MAC 493 494 Wi-Fi {@code null} 495 496 </li> 497 498 <li> 499 500 501 </ul> 502 503 <p> 504 Android N Android for Work <a href="{@docRoot}preview/features/afw.html">Android for Work </a> 505 506 </p> 507 508 <h2 id="annotations"></h2> 509 510 <p> 511 Android N 512 513 514 </p> 515 516 <ul> 517 <li>{@code VISIBILITY_BUILD}:</li> 518 <li>{@code VISIBILITY_SYSTEM}: 519 </li> 520 </ul> 521 522 <p> 523 524 {@code @Retention(RetentionPolicy.RUNTIME)} 525 </p> 526 527 <h2 id="other"></h2> 528 529 <ul> 530 <li>Android N API 531 532 [Recents] 533 534 535 <p> 536 DDMS 537 538 539 540 </p> 541 542 <p> 543 N 544 545 </p> 546 </li> 547 548 <li> 549 Android N 550 [<strong>Setting</strong>] > [<strong>Display</strong>] > [<strong>Font size</strong>] [Recents] 551 552 553 554 </li> 555 556 <li> 557 Android TCP 558 Android N {@code android.os.NetworkOnMainThreadException} ANR 559 560 561 562 </li> 563 564 <li> 565 {@code Debug.startMethodTracing()} SD storing output 566 567 568 API {@code WRITE_EXTERNAL_STORAGE} 569 </li> 570 571 <li> 572 API {@link android.os.Binder} {@code TransactionTooLargeExceptions} {@code RuntimeExceptions} 573 574 575 {@link android.app.Activity#onSaveInstanceState Activity.onSaveInstanceState()} Android N {@code ActivityThread.StopInfo} {@code RuntimeException} 576 577 578 579 580 </li> 581 582 <li> 583 {@link java.lang.Runnable} {@link android.view.View} {@link android.view.View} {@link java.lang.Runnable} {@link android.view.View} {@link java.lang.Runnable} {@link android.view.View} 584 585 586 587 588 589 590 <ul> 591 <li> UI {@link android.view.View} {@link java.lang.Runnable} 592 593 </li> 594 <li>{@link java.lang.Runnable} {@link java.lang.Runnable} 595 </li> 596 </ul> 597 </li> 598 599 <li> 600 {@link android.Manifest.permission#DELETE_PACKAGES DELETE_PACKAGES} Android N 601 602 603 {@link android.content.pm.PackageInstaller#uninstall PackageInstaller.uninstall()} {@link android.content.pm.PackageInstaller#STATUS_PENDING_USER_ACTION STATUS_PENDING_USER_ACTION} 604 605 606 607 </li> 608 609 </ul> 610 611