Android high performance programming :: build fast and efficient Android apps that run as reliably as clockwork in a multi-device world /
Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world About This Book Wide coverage of various topics that help in developing optimal applications Explore the concepts of Advanced Native Coding in depth A must-have for professional-standard Android developer...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham :
Packt Publishing,
2016.
|
Schriftenreihe: | Community experience distilled.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world About This Book Wide coverage of various topics that help in developing optimal applications Explore the concepts of Advanced Native Coding in depth A must-have for professional-standard Android developers for whom performance failures and the sloppy use of resources are simply unacceptable Who This Book Is For This book is aimed at developers with an advanced knowledge of Android and who want to test their skills and learn new techniques to increase the performance of their applications. We assume they are comfortable working with the entire Android SDK, and have been doing it for a few years. They need to be familiar with frameworks such as NDK to use native code, which is crucial for app performance What You Will Learn Create Android applications that squeeze the most from the limited resource capacity of devices Swap code that isn't performing Efficient memory management by identifying problems such as leaks Reap the benefits of multithreaded and asynchronous programming Maximize the security and encryption mechanisms natively provided by Android Perform efficient network operations and techniques to retrieve data from servers Master the NDK to write native code that can perform faster operations In Detail Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right. Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state?of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don't drain more than they should. This book explai... |
Beschreibung: | Includes index. |
Beschreibung: | 1 online resource : illustrations. |
ISBN: | 9781785283383 1785283383 1785288954 9781785288951 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-ocn958301036 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr unu|||||||| | ||
008 | 160913s2016 enka o 001 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d N$T |d TEFOD |d IDEBK |d TOH |d OCLCF |d DEBBG |d DEBSZ |d OCLCQ |d CEF |d KSU |d OCLCQ |d AGLDB |d IGB |d QGK |d OCLCQ |d OCLCO |d OCLCL |d OCLCQ |d DXU | ||
020 | |a 9781785283383 |q (electronic bk.) | ||
020 | |a 1785283383 |q (electronic bk.) | ||
020 | |a 1785288954 | ||
020 | |a 9781785288951 | ||
020 | |z 9781785288951 | ||
035 | |a (OCoLC)958301036 | ||
037 | |a CL0500000782 |b Safari Books Online | ||
037 | |a 4442D561-7F25-472C-A6A9-CCE5F0B27B7C |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.774.A53 | |
072 | 7 | |a COM |x 051460 |2 bisacsh | |
082 | 7 | |a 005.25 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a López Mañaz, Enrique, |e author. | |
245 | 1 | 0 | |a Android high performance programming : |b build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / |c Enrique López Mañas, Diego Grancini. |
264 | 1 | |a Birmingham : |b Packt Publishing, |c 2016. | |
300 | |a 1 online resource : |b illustrations. | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
490 | 1 | |a Community experience distilled | |
588 | 0 | |a Online resource; title from PDF title page (EBSCO, viewed September 30, 2016). | |
500 | |a Includes index. | ||
520 | |a Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world About This Book Wide coverage of various topics that help in developing optimal applications Explore the concepts of Advanced Native Coding in depth A must-have for professional-standard Android developers for whom performance failures and the sloppy use of resources are simply unacceptable Who This Book Is For This book is aimed at developers with an advanced knowledge of Android and who want to test their skills and learn new techniques to increase the performance of their applications. We assume they are comfortable working with the entire Android SDK, and have been doing it for a few years. They need to be familiar with frameworks such as NDK to use native code, which is crucial for app performance What You Will Learn Create Android applications that squeeze the most from the limited resource capacity of devices Swap code that isn't performing Efficient memory management by identifying problems such as leaks Reap the benefits of multithreaded and asynchronous programming Maximize the security and encryption mechanisms natively provided by Android Perform efficient network operations and techniques to retrieve data from servers Master the NDK to write native code that can perform faster operations In Detail Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right. Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state?of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don't drain more than they should. This book explai... | ||
505 | 0 | |a Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Introduction: Why High Performance? -- Why does the performance of an application mean so much to so many? -- Manual testing and automatic testing -- ANR and delays in software -- What triggers ANRs and how can I avoid them? -- Android architecture -- Dalvik Virtual Machine -- Memory management -- Energy consumption -- Java language -- Native Development Kit or how to develop with native code when needed -- Three limits in application responsiveness -- Business value of software quality -- Summary -- Chapter 2: Efficient Debugging -- Android Debug Bridge -- Dalvik Debug Monitor Server -- Capturing and analyzing thread information -- Heap analysis and visualization -- Allocation tracker -- Network usage -- Emulator Control -- System status -- Debugging the UI -- Profiling with Hierarchy Viewer -- Systrace -- Android device debug options -- Android Instant Run -- GPU profiler -- Running a trace -- ClassyShark -- Getting started -- Summary -- Chapter 3: Building Layouts -- Walkthrough -- Rendering performance -- Screen tearing and VSYNC -- Hardware acceleration -- Overdraw -- Multi-window mode -- Overview -- Configuration -- Management -- Drag and drop -- Performance impact -- Best practices -- Provided layout overview -- Hierarchical layout management -- Reusing layouts -- ViewStub -- AdapterViews and view recycling -- The ViewHolder pattern -- Custom views and layouts -- Screen zoom -- Debugging tools -- The Design view -- Hierarchy Viewer -- Tree View -- View properties -- Tree overview -- Layout View -- On device tools -- Debugging GPU overdraw -- Profile GPU rendering -- Systrace -- Summary -- Chapter 4: Memory -- Walkthrough -- How memory works -- Garbage collection -- Shared memory -- Runtime. | |
505 | 8 | |a Android N JIT compiler -- Memory leak -- Memory churn -- References -- Memory-side projects -- Project Svelte and Android N -- Best practices -- Data types -- Autoboxing -- Sparse array family -- ArrayMap -- Syntax -- Collections -- Enumerations -- Constants -- Object management -- Strings -- String concatenation -- Local variables -- Arrays versus collections -- Streams -- Memory patterns -- The object pool pattern -- The FlyWeight pattern -- Android component leaks -- Activities -- Services -- Processes -- The memory API -- Main components and memory management -- Debugging tools -- LogCat -- Dalvik -- ART -- The ActivityManager API -- StrictMode -- Dumpsys -- Meminfo -- ProcStats -- Summary -- Chapter 5: Multithreading -- Walkthrough -- Threading basics -- Multicore CPUs -- Threads -- Multithreaded applications -- Thread safety -- Android multithreading environment -- Processes -- Android application thread -- The UI thread -- Worker threads -- The binder thread -- Android thread messaging -- Best practices -- Threads -- HandlerThread -- When to use -- AsyncTask -- Methods -- Generics parameters -- States management -- Executor -- When to use -- Loaders -- LoaderManager -- LoaderCallbacks< -- D> -- Provided loaders -- When to use -- Services -- Life cycle -- Started Service -- Bound Service -- IntentService -- Inter-process communication -- Remote Procedure Call -- AIDL -- Messenger -- Advanced techniques -- BroadcastReceiver asynchronous techniques -- ContentProvider asynchronous techniques -- Repeating tasks -- Debugging tools -- StrictMode -- Summary -- Chapter 6: Networking -- Walkthrough -- Protocols -- Methods -- Headers -- Timeout -- Content -- Compression -- Response code -- Connection types -- Best practices -- Latency gauging -- Batching connections -- Prefetching -- Queuing connections -- Caching responses -- Cache control. | |
505 | 8 | |a Last-Modified -- If-Modified-Since -- Exponential back-off -- Polling versus pushing -- Provided APIs -- SyncManager -- Android N changes -- Data Saver -- Background optimization -- GcmNetworkManager -- Debugging tools -- Android N Networking ADB tool -- Fiddler -- Wireshark -- Application Resource Optimizer -- Network attenuation -- Speed and delay emulation -- Fiddler -- Network Link Conditioner -- Network Attenuator -- Summary -- Chapter 7: Security -- WhatsApp -- the eternal showcase of "no-gos -- Going deeper into the code -- Capturing an APK file -- Pulling a file from the device -- Capturing an APK using Wireshark -- Using external websites -- Autopsy of an APK file -- Code injection -- Opcodes -- Injecting new code -- Signing and rebuilding the application -- Protecting our application -- Insecure storage -- SharedPreferences -- InternalStorage -- ExternalStorage -- Deleting files -- Using external or internal storage -- Databases -- Performance in databases -- SQL injections -- ORM frameworks -- OrmLite -- SugarORM -- GreenDAO -- Realm -- Network -- Encrypted communication -- Sniffing -- Summary -- Chapter 8: Optimizing Battery Consumption -- Analysis -- Monitoring battery level and charging status -- How to identify changes in the charging status -- Determining and reacting to changes in the battery level -- Doze feature and App Standby -- Understanding Doze -- Avoiding useless network requests -- Dealing with BroadcastReceivers on demand -- Networking -- Summary -- Chapter 9: Native Coding in Android -- Getting started -- setting up NDK in our system -- JNI -- Initial concepts -- Creating our first HelloWorld-JNI -- Creating a native activity with Android NDK -- Debugging NDK -- Android.mk -- More variables in NDK -- TARGET_PLATFORM -- TARGET_ARCH -- TARGET_ABI -- NDK macros -- Application.mk -- Including existing libraries. | |
505 | 8 | |a Exporting header files -- Summary -- Chapter 10: Performance Tips -- Bitmaps -- Loading -- Processing -- Caching -- Displaying -- Managing memory -- Image optimization -- Resolution -- Compression -- Serialization -- JSON improvements -- JSON alternatives -- Protocol buffers -- Flat buffers -- Local serialization -- Code improvements -- Getters and setters -- Inner classes -- Java 8 in Android N -- Setup -- Features -- Default interface methods -- Static interface methods -- Lambda expression -- Repeating annotations -- Jack toolchain -- APK optimizations -- Removing unused code -- Removing unused resources -- Summary -- Index. | |
630 | 0 | 0 | |a Android (Electronic resource) |0 http://id.loc.gov/authorities/names/n2009043077 |
630 | 0 | 7 | |a Android (Electronic resource) |2 fast |
650 | 7 | |a COMPUTERS |x Programming |x Mobile Devices. |2 bisacsh | |
758 | |i has work: |a Android High Performance Programming (Text) |1 https://id.oclc.org/worldcat/entity/E39PD3VXtQvbgxdQFp7kfHp8fq |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
830 | 0 | |a Community experience distilled. |0 http://id.loc.gov/authorities/names/no2011030603 | |
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1343889 |3 Volltext |
938 | |a EBSCOhost |b EBSC |n 1343889 | ||
938 | |a ProQuest MyiLibrary Digital eBook Collection |b IDEB |n cis34561480 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-ocn958301036 |
---|---|
_version_ | 1816882361448529920 |
adam_text | |
any_adam_object | |
author | López Mañaz, Enrique |
author_facet | López Mañaz, Enrique |
author_role | aut |
author_sort | López Mañaz, Enrique |
author_variant | m e l me mel |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.774.A53 |
callnumber-search | QA76.774.A53 |
callnumber-sort | QA 276.774 A53 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Introduction: Why High Performance? -- Why does the performance of an application mean so much to so many? -- Manual testing and automatic testing -- ANR and delays in software -- What triggers ANRs and how can I avoid them? -- Android architecture -- Dalvik Virtual Machine -- Memory management -- Energy consumption -- Java language -- Native Development Kit or how to develop with native code when needed -- Three limits in application responsiveness -- Business value of software quality -- Summary -- Chapter 2: Efficient Debugging -- Android Debug Bridge -- Dalvik Debug Monitor Server -- Capturing and analyzing thread information -- Heap analysis and visualization -- Allocation tracker -- Network usage -- Emulator Control -- System status -- Debugging the UI -- Profiling with Hierarchy Viewer -- Systrace -- Android device debug options -- Android Instant Run -- GPU profiler -- Running a trace -- ClassyShark -- Getting started -- Summary -- Chapter 3: Building Layouts -- Walkthrough -- Rendering performance -- Screen tearing and VSYNC -- Hardware acceleration -- Overdraw -- Multi-window mode -- Overview -- Configuration -- Management -- Drag and drop -- Performance impact -- Best practices -- Provided layout overview -- Hierarchical layout management -- Reusing layouts -- ViewStub -- AdapterViews and view recycling -- The ViewHolder pattern -- Custom views and layouts -- Screen zoom -- Debugging tools -- The Design view -- Hierarchy Viewer -- Tree View -- View properties -- Tree overview -- Layout View -- On device tools -- Debugging GPU overdraw -- Profile GPU rendering -- Systrace -- Summary -- Chapter 4: Memory -- Walkthrough -- How memory works -- Garbage collection -- Shared memory -- Runtime. Android N JIT compiler -- Memory leak -- Memory churn -- References -- Memory-side projects -- Project Svelte and Android N -- Best practices -- Data types -- Autoboxing -- Sparse array family -- ArrayMap -- Syntax -- Collections -- Enumerations -- Constants -- Object management -- Strings -- String concatenation -- Local variables -- Arrays versus collections -- Streams -- Memory patterns -- The object pool pattern -- The FlyWeight pattern -- Android component leaks -- Activities -- Services -- Processes -- The memory API -- Main components and memory management -- Debugging tools -- LogCat -- Dalvik -- ART -- The ActivityManager API -- StrictMode -- Dumpsys -- Meminfo -- ProcStats -- Summary -- Chapter 5: Multithreading -- Walkthrough -- Threading basics -- Multicore CPUs -- Threads -- Multithreaded applications -- Thread safety -- Android multithreading environment -- Processes -- Android application thread -- The UI thread -- Worker threads -- The binder thread -- Android thread messaging -- Best practices -- Threads -- HandlerThread -- When to use -- AsyncTask -- Methods -- Generics parameters -- States management -- Executor -- When to use -- Loaders -- LoaderManager -- LoaderCallbacks< -- D> -- Provided loaders -- When to use -- Services -- Life cycle -- Started Service -- Bound Service -- IntentService -- Inter-process communication -- Remote Procedure Call -- AIDL -- Messenger -- Advanced techniques -- BroadcastReceiver asynchronous techniques -- ContentProvider asynchronous techniques -- Repeating tasks -- Debugging tools -- StrictMode -- Summary -- Chapter 6: Networking -- Walkthrough -- Protocols -- Methods -- Headers -- Timeout -- Content -- Compression -- Response code -- Connection types -- Best practices -- Latency gauging -- Batching connections -- Prefetching -- Queuing connections -- Caching responses -- Cache control. Last-Modified -- If-Modified-Since -- Exponential back-off -- Polling versus pushing -- Provided APIs -- SyncManager -- Android N changes -- Data Saver -- Background optimization -- GcmNetworkManager -- Debugging tools -- Android N Networking ADB tool -- Fiddler -- Wireshark -- Application Resource Optimizer -- Network attenuation -- Speed and delay emulation -- Fiddler -- Network Link Conditioner -- Network Attenuator -- Summary -- Chapter 7: Security -- WhatsApp -- the eternal showcase of "no-gos -- Going deeper into the code -- Capturing an APK file -- Pulling a file from the device -- Capturing an APK using Wireshark -- Using external websites -- Autopsy of an APK file -- Code injection -- Opcodes -- Injecting new code -- Signing and rebuilding the application -- Protecting our application -- Insecure storage -- SharedPreferences -- InternalStorage -- ExternalStorage -- Deleting files -- Using external or internal storage -- Databases -- Performance in databases -- SQL injections -- ORM frameworks -- OrmLite -- SugarORM -- GreenDAO -- Realm -- Network -- Encrypted communication -- Sniffing -- Summary -- Chapter 8: Optimizing Battery Consumption -- Analysis -- Monitoring battery level and charging status -- How to identify changes in the charging status -- Determining and reacting to changes in the battery level -- Doze feature and App Standby -- Understanding Doze -- Avoiding useless network requests -- Dealing with BroadcastReceivers on demand -- Networking -- Summary -- Chapter 9: Native Coding in Android -- Getting started -- setting up NDK in our system -- JNI -- Initial concepts -- Creating our first HelloWorld-JNI -- Creating a native activity with Android NDK -- Debugging NDK -- Android.mk -- More variables in NDK -- TARGET_PLATFORM -- TARGET_ARCH -- TARGET_ABI -- NDK macros -- Application.mk -- Including existing libraries. Exporting header files -- Summary -- Chapter 10: Performance Tips -- Bitmaps -- Loading -- Processing -- Caching -- Displaying -- Managing memory -- Image optimization -- Resolution -- Compression -- Serialization -- JSON improvements -- JSON alternatives -- Protocol buffers -- Flat buffers -- Local serialization -- Code improvements -- Getters and setters -- Inner classes -- Java 8 in Android N -- Setup -- Features -- Default interface methods -- Static interface methods -- Lambda expression -- Repeating annotations -- Jack toolchain -- APK optimizations -- Removing unused code -- Removing unused resources -- Summary -- Index. |
ctrlnum | (OCoLC)958301036 |
dewey-full | 005.25 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.25 |
dewey-search | 005.25 |
dewey-sort | 15.25 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>11045cam a2200541 i 4500</leader><controlfield tag="001">ZDB-4-EBA-ocn958301036</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr unu||||||||</controlfield><controlfield tag="008">160913s2016 enka o 001 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">N$T</subfield><subfield code="d">TEFOD</subfield><subfield code="d">IDEBK</subfield><subfield code="d">TOH</subfield><subfield code="d">OCLCF</subfield><subfield code="d">DEBBG</subfield><subfield code="d">DEBSZ</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">CEF</subfield><subfield code="d">KSU</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">AGLDB</subfield><subfield code="d">IGB</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">DXU</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781785283383</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1785283383</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1785288954</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781785288951</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="z">9781785288951</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)958301036</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000782</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">4442D561-7F25-472C-A6A9-CCE5F0B27B7C</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.774.A53</subfield></datafield><datafield tag="072" ind1=" " ind2="7"><subfield code="a">COM</subfield><subfield code="x">051460</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.25</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">López Mañaz, Enrique,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Android high performance programming :</subfield><subfield code="b">build fast and efficient Android apps that run as reliably as clockwork in a multi-device world /</subfield><subfield code="c">Enrique López Mañas, Diego Grancini.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2016.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource :</subfield><subfield code="b">illustrations.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Community experience distilled</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from PDF title page (EBSCO, viewed September 30, 2016).</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Includes index.</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world About This Book Wide coverage of various topics that help in developing optimal applications Explore the concepts of Advanced Native Coding in depth A must-have for professional-standard Android developers for whom performance failures and the sloppy use of resources are simply unacceptable Who This Book Is For This book is aimed at developers with an advanced knowledge of Android and who want to test their skills and learn new techniques to increase the performance of their applications. We assume they are comfortable working with the entire Android SDK, and have been doing it for a few years. They need to be familiar with frameworks such as NDK to use native code, which is crucial for app performance What You Will Learn Create Android applications that squeeze the most from the limited resource capacity of devices Swap code that isn't performing Efficient memory management by identifying problems such as leaks Reap the benefits of multithreaded and asynchronous programming Maximize the security and encryption mechanisms natively provided by Android Perform efficient network operations and techniques to retrieve data from servers Master the NDK to write native code that can perform faster operations In Detail Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right. Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state?of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don't drain more than they should. This book explai...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Introduction: Why High Performance? -- Why does the performance of an application mean so much to so many? -- Manual testing and automatic testing -- ANR and delays in software -- What triggers ANRs and how can I avoid them? -- Android architecture -- Dalvik Virtual Machine -- Memory management -- Energy consumption -- Java language -- Native Development Kit or how to develop with native code when needed -- Three limits in application responsiveness -- Business value of software quality -- Summary -- Chapter 2: Efficient Debugging -- Android Debug Bridge -- Dalvik Debug Monitor Server -- Capturing and analyzing thread information -- Heap analysis and visualization -- Allocation tracker -- Network usage -- Emulator Control -- System status -- Debugging the UI -- Profiling with Hierarchy Viewer -- Systrace -- Android device debug options -- Android Instant Run -- GPU profiler -- Running a trace -- ClassyShark -- Getting started -- Summary -- Chapter 3: Building Layouts -- Walkthrough -- Rendering performance -- Screen tearing and VSYNC -- Hardware acceleration -- Overdraw -- Multi-window mode -- Overview -- Configuration -- Management -- Drag and drop -- Performance impact -- Best practices -- Provided layout overview -- Hierarchical layout management -- Reusing layouts -- ViewStub -- AdapterViews and view recycling -- The ViewHolder pattern -- Custom views and layouts -- Screen zoom -- Debugging tools -- The Design view -- Hierarchy Viewer -- Tree View -- View properties -- Tree overview -- Layout View -- On device tools -- Debugging GPU overdraw -- Profile GPU rendering -- Systrace -- Summary -- Chapter 4: Memory -- Walkthrough -- How memory works -- Garbage collection -- Shared memory -- Runtime.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Android N JIT compiler -- Memory leak -- Memory churn -- References -- Memory-side projects -- Project Svelte and Android N -- Best practices -- Data types -- Autoboxing -- Sparse array family -- ArrayMap -- Syntax -- Collections -- Enumerations -- Constants -- Object management -- Strings -- String concatenation -- Local variables -- Arrays versus collections -- Streams -- Memory patterns -- The object pool pattern -- The FlyWeight pattern -- Android component leaks -- Activities -- Services -- Processes -- The memory API -- Main components and memory management -- Debugging tools -- LogCat -- Dalvik -- ART -- The ActivityManager API -- StrictMode -- Dumpsys -- Meminfo -- ProcStats -- Summary -- Chapter 5: Multithreading -- Walkthrough -- Threading basics -- Multicore CPUs -- Threads -- Multithreaded applications -- Thread safety -- Android multithreading environment -- Processes -- Android application thread -- The UI thread -- Worker threads -- The binder thread -- Android thread messaging -- Best practices -- Threads -- HandlerThread -- When to use -- AsyncTask -- Methods -- Generics parameters -- States management -- Executor -- When to use -- Loaders -- LoaderManager -- LoaderCallbacks&lt -- D&gt -- Provided loaders -- When to use -- Services -- Life cycle -- Started Service -- Bound Service -- IntentService -- Inter-process communication -- Remote Procedure Call -- AIDL -- Messenger -- Advanced techniques -- BroadcastReceiver asynchronous techniques -- ContentProvider asynchronous techniques -- Repeating tasks -- Debugging tools -- StrictMode -- Summary -- Chapter 6: Networking -- Walkthrough -- Protocols -- Methods -- Headers -- Timeout -- Content -- Compression -- Response code -- Connection types -- Best practices -- Latency gauging -- Batching connections -- Prefetching -- Queuing connections -- Caching responses -- Cache control.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Last-Modified -- If-Modified-Since -- Exponential back-off -- Polling versus pushing -- Provided APIs -- SyncManager -- Android N changes -- Data Saver -- Background optimization -- GcmNetworkManager -- Debugging tools -- Android N Networking ADB tool -- Fiddler -- Wireshark -- Application Resource Optimizer -- Network attenuation -- Speed and delay emulation -- Fiddler -- Network Link Conditioner -- Network Attenuator -- Summary -- Chapter 7: Security -- WhatsApp -- the eternal showcase of "no-gos -- Going deeper into the code -- Capturing an APK file -- Pulling a file from the device -- Capturing an APK using Wireshark -- Using external websites -- Autopsy of an APK file -- Code injection -- Opcodes -- Injecting new code -- Signing and rebuilding the application -- Protecting our application -- Insecure storage -- SharedPreferences -- InternalStorage -- ExternalStorage -- Deleting files -- Using external or internal storage -- Databases -- Performance in databases -- SQL injections -- ORM frameworks -- OrmLite -- SugarORM -- GreenDAO -- Realm -- Network -- Encrypted communication -- Sniffing -- Summary -- Chapter 8: Optimizing Battery Consumption -- Analysis -- Monitoring battery level and charging status -- How to identify changes in the charging status -- Determining and reacting to changes in the battery level -- Doze feature and App Standby -- Understanding Doze -- Avoiding useless network requests -- Dealing with BroadcastReceivers on demand -- Networking -- Summary -- Chapter 9: Native Coding in Android -- Getting started -- setting up NDK in our system -- JNI -- Initial concepts -- Creating our first HelloWorld-JNI -- Creating a native activity with Android NDK -- Debugging NDK -- Android.mk -- More variables in NDK -- TARGET_PLATFORM -- TARGET_ARCH -- TARGET_ABI -- NDK macros -- Application.mk -- Including existing libraries.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Exporting header files -- Summary -- Chapter 10: Performance Tips -- Bitmaps -- Loading -- Processing -- Caching -- Displaying -- Managing memory -- Image optimization -- Resolution -- Compression -- Serialization -- JSON improvements -- JSON alternatives -- Protocol buffers -- Flat buffers -- Local serialization -- Code improvements -- Getters and setters -- Inner classes -- Java 8 in Android N -- Setup -- Features -- Default interface methods -- Static interface methods -- Lambda expression -- Repeating annotations -- Jack toolchain -- APK optimizations -- Removing unused code -- Removing unused resources -- Summary -- Index.</subfield></datafield><datafield tag="630" ind1="0" ind2="0"><subfield code="a">Android (Electronic resource)</subfield><subfield code="0">http://id.loc.gov/authorities/names/n2009043077</subfield></datafield><datafield tag="630" ind1="0" ind2="7"><subfield code="a">Android (Electronic resource)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">COMPUTERS</subfield><subfield code="x">Programming</subfield><subfield code="x">Mobile Devices.</subfield><subfield code="2">bisacsh</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Android High Performance Programming (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PD3VXtQvbgxdQFp7kfHp8fq</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Community experience distilled.</subfield><subfield code="0">http://id.loc.gov/authorities/names/no2011030603</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1343889</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1343889</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest MyiLibrary Digital eBook Collection</subfield><subfield code="b">IDEB</subfield><subfield code="n">cis34561480</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-ocn958301036 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:27:23Z |
institution | BVB |
isbn | 9781785283383 1785283383 1785288954 9781785288951 |
language | English |
oclc_num | 958301036 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource : illustrations. |
psigel | ZDB-4-EBA |
publishDate | 2016 |
publishDateSearch | 2016 |
publishDateSort | 2016 |
publisher | Packt Publishing, |
record_format | marc |
series | Community experience distilled. |
series2 | Community experience distilled |
spelling | López Mañaz, Enrique, author. Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / Enrique López Mañas, Diego Grancini. Birmingham : Packt Publishing, 2016. 1 online resource : illustrations. text txt rdacontent computer c rdamedia online resource cr rdacarrier Community experience distilled Online resource; title from PDF title page (EBSCO, viewed September 30, 2016). Includes index. Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world About This Book Wide coverage of various topics that help in developing optimal applications Explore the concepts of Advanced Native Coding in depth A must-have for professional-standard Android developers for whom performance failures and the sloppy use of resources are simply unacceptable Who This Book Is For This book is aimed at developers with an advanced knowledge of Android and who want to test their skills and learn new techniques to increase the performance of their applications. We assume they are comfortable working with the entire Android SDK, and have been doing it for a few years. They need to be familiar with frameworks such as NDK to use native code, which is crucial for app performance What You Will Learn Create Android applications that squeeze the most from the limited resource capacity of devices Swap code that isn't performing Efficient memory management by identifying problems such as leaks Reap the benefits of multithreaded and asynchronous programming Maximize the security and encryption mechanisms natively provided by Android Perform efficient network operations and techniques to retrieve data from servers Master the NDK to write native code that can perform faster operations In Detail Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right. Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state?of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don't drain more than they should. This book explai... Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Introduction: Why High Performance? -- Why does the performance of an application mean so much to so many? -- Manual testing and automatic testing -- ANR and delays in software -- What triggers ANRs and how can I avoid them? -- Android architecture -- Dalvik Virtual Machine -- Memory management -- Energy consumption -- Java language -- Native Development Kit or how to develop with native code when needed -- Three limits in application responsiveness -- Business value of software quality -- Summary -- Chapter 2: Efficient Debugging -- Android Debug Bridge -- Dalvik Debug Monitor Server -- Capturing and analyzing thread information -- Heap analysis and visualization -- Allocation tracker -- Network usage -- Emulator Control -- System status -- Debugging the UI -- Profiling with Hierarchy Viewer -- Systrace -- Android device debug options -- Android Instant Run -- GPU profiler -- Running a trace -- ClassyShark -- Getting started -- Summary -- Chapter 3: Building Layouts -- Walkthrough -- Rendering performance -- Screen tearing and VSYNC -- Hardware acceleration -- Overdraw -- Multi-window mode -- Overview -- Configuration -- Management -- Drag and drop -- Performance impact -- Best practices -- Provided layout overview -- Hierarchical layout management -- Reusing layouts -- ViewStub -- AdapterViews and view recycling -- The ViewHolder pattern -- Custom views and layouts -- Screen zoom -- Debugging tools -- The Design view -- Hierarchy Viewer -- Tree View -- View properties -- Tree overview -- Layout View -- On device tools -- Debugging GPU overdraw -- Profile GPU rendering -- Systrace -- Summary -- Chapter 4: Memory -- Walkthrough -- How memory works -- Garbage collection -- Shared memory -- Runtime. Android N JIT compiler -- Memory leak -- Memory churn -- References -- Memory-side projects -- Project Svelte and Android N -- Best practices -- Data types -- Autoboxing -- Sparse array family -- ArrayMap -- Syntax -- Collections -- Enumerations -- Constants -- Object management -- Strings -- String concatenation -- Local variables -- Arrays versus collections -- Streams -- Memory patterns -- The object pool pattern -- The FlyWeight pattern -- Android component leaks -- Activities -- Services -- Processes -- The memory API -- Main components and memory management -- Debugging tools -- LogCat -- Dalvik -- ART -- The ActivityManager API -- StrictMode -- Dumpsys -- Meminfo -- ProcStats -- Summary -- Chapter 5: Multithreading -- Walkthrough -- Threading basics -- Multicore CPUs -- Threads -- Multithreaded applications -- Thread safety -- Android multithreading environment -- Processes -- Android application thread -- The UI thread -- Worker threads -- The binder thread -- Android thread messaging -- Best practices -- Threads -- HandlerThread -- When to use -- AsyncTask -- Methods -- Generics parameters -- States management -- Executor -- When to use -- Loaders -- LoaderManager -- LoaderCallbacks< -- D> -- Provided loaders -- When to use -- Services -- Life cycle -- Started Service -- Bound Service -- IntentService -- Inter-process communication -- Remote Procedure Call -- AIDL -- Messenger -- Advanced techniques -- BroadcastReceiver asynchronous techniques -- ContentProvider asynchronous techniques -- Repeating tasks -- Debugging tools -- StrictMode -- Summary -- Chapter 6: Networking -- Walkthrough -- Protocols -- Methods -- Headers -- Timeout -- Content -- Compression -- Response code -- Connection types -- Best practices -- Latency gauging -- Batching connections -- Prefetching -- Queuing connections -- Caching responses -- Cache control. Last-Modified -- If-Modified-Since -- Exponential back-off -- Polling versus pushing -- Provided APIs -- SyncManager -- Android N changes -- Data Saver -- Background optimization -- GcmNetworkManager -- Debugging tools -- Android N Networking ADB tool -- Fiddler -- Wireshark -- Application Resource Optimizer -- Network attenuation -- Speed and delay emulation -- Fiddler -- Network Link Conditioner -- Network Attenuator -- Summary -- Chapter 7: Security -- WhatsApp -- the eternal showcase of "no-gos -- Going deeper into the code -- Capturing an APK file -- Pulling a file from the device -- Capturing an APK using Wireshark -- Using external websites -- Autopsy of an APK file -- Code injection -- Opcodes -- Injecting new code -- Signing and rebuilding the application -- Protecting our application -- Insecure storage -- SharedPreferences -- InternalStorage -- ExternalStorage -- Deleting files -- Using external or internal storage -- Databases -- Performance in databases -- SQL injections -- ORM frameworks -- OrmLite -- SugarORM -- GreenDAO -- Realm -- Network -- Encrypted communication -- Sniffing -- Summary -- Chapter 8: Optimizing Battery Consumption -- Analysis -- Monitoring battery level and charging status -- How to identify changes in the charging status -- Determining and reacting to changes in the battery level -- Doze feature and App Standby -- Understanding Doze -- Avoiding useless network requests -- Dealing with BroadcastReceivers on demand -- Networking -- Summary -- Chapter 9: Native Coding in Android -- Getting started -- setting up NDK in our system -- JNI -- Initial concepts -- Creating our first HelloWorld-JNI -- Creating a native activity with Android NDK -- Debugging NDK -- Android.mk -- More variables in NDK -- TARGET_PLATFORM -- TARGET_ARCH -- TARGET_ABI -- NDK macros -- Application.mk -- Including existing libraries. Exporting header files -- Summary -- Chapter 10: Performance Tips -- Bitmaps -- Loading -- Processing -- Caching -- Displaying -- Managing memory -- Image optimization -- Resolution -- Compression -- Serialization -- JSON improvements -- JSON alternatives -- Protocol buffers -- Flat buffers -- Local serialization -- Code improvements -- Getters and setters -- Inner classes -- Java 8 in Android N -- Setup -- Features -- Default interface methods -- Static interface methods -- Lambda expression -- Repeating annotations -- Jack toolchain -- APK optimizations -- Removing unused code -- Removing unused resources -- Summary -- Index. Android (Electronic resource) http://id.loc.gov/authorities/names/n2009043077 Android (Electronic resource) fast COMPUTERS Programming Mobile Devices. bisacsh has work: Android High Performance Programming (Text) https://id.oclc.org/worldcat/entity/E39PD3VXtQvbgxdQFp7kfHp8fq https://id.oclc.org/worldcat/ontology/hasWork Community experience distilled. http://id.loc.gov/authorities/names/no2011030603 FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1343889 Volltext |
spellingShingle | López Mañaz, Enrique Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / Community experience distilled. Cover -- Copyright -- Credits -- About the Authors -- About the Reviewer -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Introduction: Why High Performance? -- Why does the performance of an application mean so much to so many? -- Manual testing and automatic testing -- ANR and delays in software -- What triggers ANRs and how can I avoid them? -- Android architecture -- Dalvik Virtual Machine -- Memory management -- Energy consumption -- Java language -- Native Development Kit or how to develop with native code when needed -- Three limits in application responsiveness -- Business value of software quality -- Summary -- Chapter 2: Efficient Debugging -- Android Debug Bridge -- Dalvik Debug Monitor Server -- Capturing and analyzing thread information -- Heap analysis and visualization -- Allocation tracker -- Network usage -- Emulator Control -- System status -- Debugging the UI -- Profiling with Hierarchy Viewer -- Systrace -- Android device debug options -- Android Instant Run -- GPU profiler -- Running a trace -- ClassyShark -- Getting started -- Summary -- Chapter 3: Building Layouts -- Walkthrough -- Rendering performance -- Screen tearing and VSYNC -- Hardware acceleration -- Overdraw -- Multi-window mode -- Overview -- Configuration -- Management -- Drag and drop -- Performance impact -- Best practices -- Provided layout overview -- Hierarchical layout management -- Reusing layouts -- ViewStub -- AdapterViews and view recycling -- The ViewHolder pattern -- Custom views and layouts -- Screen zoom -- Debugging tools -- The Design view -- Hierarchy Viewer -- Tree View -- View properties -- Tree overview -- Layout View -- On device tools -- Debugging GPU overdraw -- Profile GPU rendering -- Systrace -- Summary -- Chapter 4: Memory -- Walkthrough -- How memory works -- Garbage collection -- Shared memory -- Runtime. Android N JIT compiler -- Memory leak -- Memory churn -- References -- Memory-side projects -- Project Svelte and Android N -- Best practices -- Data types -- Autoboxing -- Sparse array family -- ArrayMap -- Syntax -- Collections -- Enumerations -- Constants -- Object management -- Strings -- String concatenation -- Local variables -- Arrays versus collections -- Streams -- Memory patterns -- The object pool pattern -- The FlyWeight pattern -- Android component leaks -- Activities -- Services -- Processes -- The memory API -- Main components and memory management -- Debugging tools -- LogCat -- Dalvik -- ART -- The ActivityManager API -- StrictMode -- Dumpsys -- Meminfo -- ProcStats -- Summary -- Chapter 5: Multithreading -- Walkthrough -- Threading basics -- Multicore CPUs -- Threads -- Multithreaded applications -- Thread safety -- Android multithreading environment -- Processes -- Android application thread -- The UI thread -- Worker threads -- The binder thread -- Android thread messaging -- Best practices -- Threads -- HandlerThread -- When to use -- AsyncTask -- Methods -- Generics parameters -- States management -- Executor -- When to use -- Loaders -- LoaderManager -- LoaderCallbacks< -- D> -- Provided loaders -- When to use -- Services -- Life cycle -- Started Service -- Bound Service -- IntentService -- Inter-process communication -- Remote Procedure Call -- AIDL -- Messenger -- Advanced techniques -- BroadcastReceiver asynchronous techniques -- ContentProvider asynchronous techniques -- Repeating tasks -- Debugging tools -- StrictMode -- Summary -- Chapter 6: Networking -- Walkthrough -- Protocols -- Methods -- Headers -- Timeout -- Content -- Compression -- Response code -- Connection types -- Best practices -- Latency gauging -- Batching connections -- Prefetching -- Queuing connections -- Caching responses -- Cache control. Last-Modified -- If-Modified-Since -- Exponential back-off -- Polling versus pushing -- Provided APIs -- SyncManager -- Android N changes -- Data Saver -- Background optimization -- GcmNetworkManager -- Debugging tools -- Android N Networking ADB tool -- Fiddler -- Wireshark -- Application Resource Optimizer -- Network attenuation -- Speed and delay emulation -- Fiddler -- Network Link Conditioner -- Network Attenuator -- Summary -- Chapter 7: Security -- WhatsApp -- the eternal showcase of "no-gos -- Going deeper into the code -- Capturing an APK file -- Pulling a file from the device -- Capturing an APK using Wireshark -- Using external websites -- Autopsy of an APK file -- Code injection -- Opcodes -- Injecting new code -- Signing and rebuilding the application -- Protecting our application -- Insecure storage -- SharedPreferences -- InternalStorage -- ExternalStorage -- Deleting files -- Using external or internal storage -- Databases -- Performance in databases -- SQL injections -- ORM frameworks -- OrmLite -- SugarORM -- GreenDAO -- Realm -- Network -- Encrypted communication -- Sniffing -- Summary -- Chapter 8: Optimizing Battery Consumption -- Analysis -- Monitoring battery level and charging status -- How to identify changes in the charging status -- Determining and reacting to changes in the battery level -- Doze feature and App Standby -- Understanding Doze -- Avoiding useless network requests -- Dealing with BroadcastReceivers on demand -- Networking -- Summary -- Chapter 9: Native Coding in Android -- Getting started -- setting up NDK in our system -- JNI -- Initial concepts -- Creating our first HelloWorld-JNI -- Creating a native activity with Android NDK -- Debugging NDK -- Android.mk -- More variables in NDK -- TARGET_PLATFORM -- TARGET_ARCH -- TARGET_ABI -- NDK macros -- Application.mk -- Including existing libraries. Exporting header files -- Summary -- Chapter 10: Performance Tips -- Bitmaps -- Loading -- Processing -- Caching -- Displaying -- Managing memory -- Image optimization -- Resolution -- Compression -- Serialization -- JSON improvements -- JSON alternatives -- Protocol buffers -- Flat buffers -- Local serialization -- Code improvements -- Getters and setters -- Inner classes -- Java 8 in Android N -- Setup -- Features -- Default interface methods -- Static interface methods -- Lambda expression -- Repeating annotations -- Jack toolchain -- APK optimizations -- Removing unused code -- Removing unused resources -- Summary -- Index. Android (Electronic resource) http://id.loc.gov/authorities/names/n2009043077 Android (Electronic resource) fast COMPUTERS Programming Mobile Devices. bisacsh |
subject_GND | http://id.loc.gov/authorities/names/n2009043077 |
title | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / |
title_auth | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / |
title_exact_search | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / |
title_full | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / Enrique López Mañas, Diego Grancini. |
title_fullStr | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / Enrique López Mañas, Diego Grancini. |
title_full_unstemmed | Android high performance programming : build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / Enrique López Mañas, Diego Grancini. |
title_short | Android high performance programming : |
title_sort | android high performance programming build fast and efficient android apps that run as reliably as clockwork in a multi device world |
title_sub | build fast and efficient Android apps that run as reliably as clockwork in a multi-device world / |
topic | Android (Electronic resource) http://id.loc.gov/authorities/names/n2009043077 Android (Electronic resource) fast COMPUTERS Programming Mobile Devices. bisacsh |
topic_facet | Android (Electronic resource) COMPUTERS Programming Mobile Devices. |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1343889 |
work_keys_str_mv | AT lopezmanazenrique androidhighperformanceprogrammingbuildfastandefficientandroidappsthatrunasreliablyasclockworkinamultideviceworld |