魅力程序猿

  • 首页
  • Java
  • Android
  • APP
    • 扑克计分器
    • Video Wallpaper
  • 联系我
  • 关于我
  • 资助
道子
向阳而生
Android

理解Android的Window和WindowManager

简述 在Android系统中,PopupWindow、Dialog、Activity、Toast等都有窗口的概念,但又各有不同,Android将窗口大致分为三类:应用窗口、子窗口、系统窗口。其中,Activity与Dialog属于应用窗口、PopupWindow属于子窗口,必须依附到其他非子窗口才能存在,而Toast属于系统窗口,Dialog可能比较特殊,从表现上来说偏向于子窗口,必须依附Activity才能存在,但是从性质上来说,仍然是应用窗口,有自己的WindowToken。所有的视图都是通过Window来呈现…

2018年6月9日 0条评论 6784点热度 0人点赞 daozi 阅读全文
Android

Android的ClassLoader

1. 前言 ClassLoader翻译过来就是类加载器。 阅读过JVM和Android的Dalvik与ART我们知道,Dalvik虚拟机如同其他Java虚拟机一样,在运行程序时首先需要将对应的类加载到内存中。而在Java标准的虚拟机中,类加载可以从class文件中读取,也可以是其他形式的二进制流。因此,我们常常利用这一点,在程序运行时手动加载Class,从而达到代码动态加载执行的目的。 只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,传统Class文件是一个Java源码文件会生…

2018年6月3日 0条评论 5227点热度 0人点赞 daozi 阅读全文
Android

JVM和Android的Dalvik与ART

1. JVM(Java虚拟机) JVM是Java编程语言的核心。当我们运行一个程序时,JVM负责将字节码转换为特定机器代码。JVM也是平台特定的,并提供核心的Java方法,例如内存管理、垃圾回收和安全机制等。JVM 是可定制化的,我们可以通过Java 选项(java options)定制它,比如配置JVM 内存的上下界。JVM之所以被称为虚拟的是因为它提供了一个不依赖于底层操作系统和机器硬件的接口。这种独立于硬件和操作系统的特性正是Java程序可以一次编写多处执行的原因。 JVM的结构体系 2. Dalvik 1)…

2018年5月28日 0条评论 6877点热度 0人点赞 daozi 阅读全文
Android

Android的ContentProvider

 一、概述  ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法。 ContentProvider可以指定需要共享的数据,而其他应用程序则可以在不知道数据来源、路径的情况下,对共享数据进行增删改查等操作。 在Android系统中,许多Android系统内置的数据也是通过ContentProvider提供给用户使用,例如通讯录、音视频文件和图像文件等  二、使用关系  三、类关系 CPP与CPN是一对Binder通信的C/S两端; ACR(Applicati…

2018年5月25日 0条评论 8087点热度 0人点赞 daozi 阅读全文
Android

Error:Resource shrinker cannot be used for libraries.

Error:Resource cannot be used for libraries. 意思是“library中不要使用移除无用的资源文件字段” 原因是library中使用了混淆,并移除了无用的资源文件,所以解决办法就是把该library中的shrinkResources字段移除就可以了。 大家可以试试,如果有其他解释及方案,请告知。    

2018年5月20日 0条评论 11049点热度 0人点赞 daozi 阅读全文
Android

Android的消息处理机制(Looper,Handler,MessageQueue,Message)

1.Android消息处理机制概述 Android消息处理机制实际上就是Handler的运行机制,他能够很轻松的在线程间传递数据。由于Android开发规范的限制,我们不能在主线程执行耗时操作(如网络,IO操作等),不能在子线程更新UI,所以Handler大部分用来在耗时操作与更新UI之间切换。除了Handler之外,我们还需要一个消息队列MessageQueue,用于存放Handler发送过来的Message。然后,Android中的Looper类提供了两个方法:prepare()、loop(),前者用来创建Me…

2018年5月19日 0条评论 28094点热度 0人点赞 daozi 阅读全文
APP

Poker.Play.Score Privacy Policy

PLEASE READ THE FOLLOWING PRIVACY POLICY CAREFULLY BEFORE USING THE APPLICATION PROVIDED BY US. BY ACCESSING OR USING OUR APPLICATION (OTHER THAN TO READ THIS PRIVACY POLICY FOR THE FIRST TIME), YOU AGREE TO THE TERMS OF THIS PRIVACY POLICY. Over, AoAoYi Mobil…

2018年5月10日 0条评论 6765点热度 0人点赞 daozi 阅读全文
Android

Android Studio:Field can be converted to a local variable

1. 解析 Field can be converted to a local varible 的完整说明是: This inspection searches for redundant class fields that can be replaced with local variables. If all local usages of a field are preceded by assignments to that field, the field can be removed and its us…

2018年5月9日 0条评论 8921点热度 0人点赞 daozi 阅读全文
Android

Android的Messenger

一. Messenger是什么 Messenger是一种轻量级的IPC方案并对AIDL 进行了封装,它实现起来比较容易。 下面Messenger的工作原理图,以便于更好的理解Messenger:   Messenger内部消息处理使用Handler实现的,所以它是以串行的方式处理客服端发送过来的消息的,如果有大量的消息发送给服务器端,服务器端只能一个一个处理,如果并发量大的话用Messenger就不合适了,而且Messenger的主要作用就是为了传递消息,很多时候我们需要跨进程调用服务器端的方法,这种需求Messe…

2018年5月8日 0条评论 5158点热度 0人点赞 daozi 阅读全文
Android

Android的Binder机制

 一.  Binder是什么 1. 直观来说,Binder是Android中的一个类,它继承了IBinder接口 2. 从IPC角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在linux中没有 3. 从Android Framework角度来说,Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager,etc)和相应ManagerServic…

2018年5月7日 0条评论 5873点热度 0人点赞 daozi 阅读全文
Android

Android的AIDL

一、概述 AIDL 意思即 Android Interface Definition Language,翻译过来就是Android接口定义语言,是用于定义服务器和客户端通信接口的一种描述语言,可以拿来生成用于IPC的代码。从某种意义上说AIDL其实是一个模板,因为在使用过程中,实际起作用的并不是AIDL文件,而是据此而生成的一个IInterface的实例代码,AIDL其实是为了避免我们重复编写代码而出现的一个模板。 在Android中,默认每个应用(application)执行在它自己的进程中,无法直接调用到其他应…

2018年5月5日 0条评论 11736点热度 0人点赞 daozi 阅读全文
Android

Android的IPC机制

一. Android IPC 简介 IPC即Inter-Process Communication,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。 线程是CPU调度的最小单元,是一种有限的系统资源。进程一般指一个执行单元,在PC和移动设备上是指一个程序或者应用。进程与线程是包含与被包含的关系。一个进程可以包含多个线程。最简单的情况下一个进程只有一个线程,即主线程(例如Android的UI线程)。 任何操作系统都需要有相应的IPC机制。 在Android中,IPC的使用场景大概有以下: 有些模块…

2018年4月22日 0条评论 4354点热度 0人点赞 daozi 阅读全文
AndroidNN

Android神经​​网络API(NNAPI)

原文地址:https://developer.android.com/ndk/guides/neuralnetworks/index.html 以下为翻译内容: 注意:Neural Networks API可用于Android 8.1及更高版本的系统映像。头文件在最新版本的NDK中可用。我们鼓励您通过Android 8.1 Preview问题跟踪器向我们发送反馈。 Android神经​​网络API(NNAPI)是一种Android C API,专为在移动设备上运行机器学习计算密集型操作而设计。NNAPI旨在为构建和…

2018年4月11日 0条评论 9585点热度 0人点赞 daozi 阅读全文
Java

Java基础之Volatile原理

计算机内存模型 计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据 的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就 存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU 执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来 进行,会大大降低指令执行的速度。因此在CPU里面就有了高速缓存。当程序在运行过程 中,会将运算需要的数据从主存复制一份到CPU的高速缓存当中,那么CPU进行计算时就可 以…

2018年4月11日 0条评论 3505点热度 0人点赞 daozi 阅读全文
Java

Java基础之Java线程

1. 线程定义 线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程 (lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程 (user thread)称为线程。 线程是独立调度和分派的基本单位。线程可以操作系统内核调度的内核线程,如Win32线…

2018年4月8日 0条评论 4116点热度 0人点赞 daozi 阅读全文
1…678910…16
搜索
联系方式

QQ群:179730949
QQ群:114559024
欢迎您加入Android大家庭
本人QQ:136049925

赐我一丝安慰
给我一点鼓励

最新 热点 随机
最新 热点 随机
从零构建 GIS 数据引擎:方案驱动架构的设计与实践 GBA开发-01:搭建开发环境 GreatSQL 8.4.4-5 GA(2026-06-30) OpenCode × DeepSeek 配置方案继续迭代:从能用到好用 绩隐金日报 · 第55期 你的 AI Agent 会在服务器上"修仙"——OpenClaw.NET 长持久会话技术解读
开发实战:asp.net core + ef core 实现动态可扩展的分页方案 git切换分支提示失败(The following untracked working tree files would be overwritten by checkout) Android的消息处理机制(Looper,Handler,MessageQueue,Message) adb 常用命令简述 对Android Studio 生成的包自动重命名 解决Android 7及以上Notification.contentView为null问题
最近评论
宝宝 发布于 9 年前(02月27日) 哈哈哈哈
GPU Mining 发布于 9 年前(02月19日) I am just starting to learn about all of this. Tha...
Timothynix 发布于 9 年前(02月08日) Your place is valueble for me. Thanks!… http:...
xing1982 发布于 9 年前(02月04日) 不错不错!内容感觉好极了!
additional info 发布于 9 年前(01月28日) I just want to mention I am just new to weblog and...

COPYRIGHT © 2023 魅力程序猿. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备15000477号