app

android App启动过程

两盒软妹~` 提交于 2020-01-04 05:25:50
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个大体框架。 启动流程: ①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求; ②system_server进程接收到请求后,向zygote进程发送创建进程的请求; ③Zygote进程fork出新的子进程,即App进程; ④App进程,通过Binder IPC向sytem_server进程发起attachApplication请求; ⑤system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向App进程发送scheduleLaunchActivity请求; ⑥App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消息; ⑦主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。 ⑧到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法,UI渲染结束后便可以看到App的主界面。 上面的一些列步骤简单介绍了一个APP启动到主页面显示的过程

常见的APP性能测试指标

我怕爱的太早我们不能终老 提交于 2020-01-04 03:36:13
性能测试在软件的质量保证中起着重要的作用,它包括的测试内容丰富多样。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试。通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。通过性能测试工具得到测试对象的各项性能指标,将各项性能指标与行业中的标准值或者竞品值去做对比,以得到一个综合的结论与优化改进的方案。下面将以手游这样的典型APP为例对客户端性能指标进行详细说明。 包体大小 包体大小能被列为性能指标,是从APP性能指标及游戏运营两个维度考虑的,玩家是更希望包体小的同时性能要好,有时它们会是一个互相取舍的关系。 CPU占用率 一般情况下,用主流手机玩游戏20%-40%的CPU占用率算是合理的,当然这个数值随着近年来手机硬件配置的提高,会略微下降,如果CPU占用率超过80%就非常值得我们去关注了。 图片处理器每秒刷新的帧数(FPS) 可用来指示页面是否平滑的渲染。手机游戏帧率FPS,30-60都可接受,上了60对于人眼主观感受差别就不大了。对于游戏开发而言,并不是FPS越高就一定越好,FPS取决于显卡,其次是内存、CPU,然后是网络。故综合游戏其他性能指标,选择一个适合的FPS即可。 内存使用 在Android系统中,每个APP进程除了同其他进程共享(shared dirty)外,还独用私有内存

Node.js Web开发(二)认识Express(上)

与世无争的帅哥 提交于 2020-01-03 08:00:07
实现试图母版 在 上篇的Post 中,最后虽然采用Ejs的试图引擎成功了,但是发现没有按照我们预想的实现使用母版功能,首选我们先把上次遗留的问题给实现了。 这里我使用Express的partials来实现,在3.0之前的版本中,partials包含在Express中,现在单独出来了,需要我们安装后来使用: npm install express-partials 安装完成后,在Express配置中指定使用partials: app.configure(function () { app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.favicon()); app.use(partials()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); 启动后我们看到生成的前台源码:

准备好开发SharePoint APP了吗?

可紊 提交于 2020-01-02 07:58:52
在上一篇博客 准备好开发SharePoint APP了吗? 中,我介绍了如何注册SharePoint online开发人员版,那么现在我们就可以开发第一个SharePoint APP了。 当然,开发离不开工具,所以我们需要首先安装开发工具,这里隆重介绍NAPA。好,我们先安装上。 点击 Build an app, 系统会自动跳转到Napa” Office 365 Development Tools”页面,点击ADD IT, 然后可能会要求你输入一次用户名密码,之后点击 ,在确认页面点击 ,在提问页面选择Trust it: 再次回到Team Site页面,提示正在安装NAPA: 大约几十秒之后,刷新页面,可以看到已经安装好了。 点击图标,进去到如下页面: 填好名字,点击Create, 接下来,就进入到了开发页面了。这是一个活生生的网页版Visual Studio. 在这里就可以写代码了。 在网页左下角,有几个按钮,分别是: 运行、删除、设置、在Visual Studio中打开。点击第一个按钮: 几十秒之后,安装完成了,点击链接: 这样,就看到了我们第一个SharePoint APP的运行结果了! 来源: https://www.cnblogs.com/chinatown/archive/2012/11/18/2776250.html

Vue使用指南(一)

橙三吉。 提交于 2020-01-02 04:50:42
Vue Vue:前台框架 渐进式JavaScript框架 渐进式:vue可以控制页面的一个局部,vue也可以控制整个页面,vue也能控制整个前端项目 -- 根据项目需求,来决定vue控制项目的程度​ 使用 1.下载:https://vuejs.org/js/vue.min.js 2.导入vue.js 3.在自定义的script标签中创建vue对象 4.用vue对象来控制页面内容 vue的优点 '''单页面web应用数据驱动数据的双向绑定虚拟DOM''' 挂载点与数据的渲染 <body> <div id="app"> <!-- 插值表达式:插值表达式中出现的名字代表vue变量 --> <div class="root">{{ abc }}</div> <div class="main">{{ xyz }}</div> </div> </body> <script src="js/vue.min.js"></script> <script> new Vue({ // 挂载点:vue对象通过el参数(挂载点)与页面结构建立联系,vue对象与页面控制的结构应该是一对一关系,所以挂载点选择id作为唯一标识 el: '#app', // 在挂载点插值表达式中出现的名字是变量,需要vue对象通过data提供 data: { abc: '内容', xyz: 3.14 } }) </script>

Vue教程:简介(一)

那年仲夏 提交于 2020-01-02 04:33:16
前言 用了这么久的vue了,但是一直没有时间写个系列文章,现在抽一定时间总结下vue的知识点。 首先,Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器。 下面总结的内容是在2.x的版本。 安装 直接用 <script> 引入 直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量。 在开发环境下不要使用压缩版本,不然你就失去了所有常见错误相关的警告! CDN 推荐: https://cdn.jsdelivr.net/npm/vue ,会保持和 npm 发布的最新的版本一致。可以在 https://cdn.jsdelivr.net/npm/vue/ 浏览 npm 包资源。 也可以从 unpkg 和 cdnjs 获取 (cdnjs 的版本更新可能略滞后)。 NPM 在用 Vue 构建大型应用时推荐使用 NPM 安装。NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用。同时 Vue 也提供配套工具来开发单文件组件。 # 最新稳定版 $ npm install vue 命令行工具 (CLI) 快速搭建大型单页应用,只需几分钟即可创建并启动一个带热重载、保存时静态检查以及可用于生产环境的构建配置的项目: # 全局安装 vue

word,excel,ppt转pdf

☆樱花仙子☆ 提交于 2020-01-01 22:10:24
第一步 需要下载jar包和jacob-1.14.3-x64.dll * <dependency> * <groupId>net.sf.jacob-project</groupId> * <artifactId>jacob</artifactId> * <version>1.14.3</version> * </dependency> *第二步 把jacob-1.14.3-x64.dll 放到java/bin目录下 电脑环境 win10 office2016支持文件类型 doc,docx,xls,xlsx,ppt,pptx 下面是源代码package com.example.demo.xs;import com.jacob.activeX.ActiveXComponent;import com.jacob.com.Dispatch;import com.jacob.com.Variant;import java.io.File;import java.util.logging.Level;import java.util.logging.Logger;/** * 需要jar包和jacob-1.14.3-x64.dll * <dependency> * <groupId>net.sf.jacob-project</groupId> * <artifactId>jacob<

C#操作word之文本替换

假如想象 提交于 2020-01-01 20:45:33
姓名 张三 性别 男 籍贯 浙江 学历 本科 家庭地址 浙江省未名市未名区未名街 电话 12345678 省份证号 123456789012345678 假设我们需要将客户的信息导成word文档,其格式类似上面这样的。 我们可以先准备一个word模板,格式如下 姓名 {name} 性别 {sex} 籍贯 {provinve} 学历 {education} 家庭地址 {address} 电话 {telephone} 省份证号 {cardno} 这里要替换的内容,我们可以定义成数据库中对应的字段,这里为了看上去清晰将要替换的内容用{字段}来代替,你也可以用其他你想要 的方式来定义。 接下来看实现的方式(记得首先在引用中添加相应的组件哦!) public partial class WebForm3 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ReplaceToExcel(); } /// <summary> /// 替换word中的文本,并导出word /// </summary> protected void ReplaceToExcel() { Word.Application app = null; Word.Document doc = null; /

##管家婆项目(app层)

╄→гoц情女王★ 提交于 2020-01-01 05:07:16
管家婆项目(app层) package cn.kgc.gjp.app; import cn.kgc.gjp.view.MainView; /** * @author liurui * @date $ {DATE} 17:04 * 主程序类,作用,开启软件程序 */ public class MainAPP { public static void main(String[] args) { new MainView().run(); } } 来源: https://www.cnblogs.com/liurui-bk517/p/11027556.html

团队作业6-项目总结

北城以北 提交于 2020-01-01 05:02:44
         Daily Target小组,我们的项目是一个任务发布的安卓APP. 1、项目说明和PPT以及提供的学习资料链接 学习资料是android前后端的相应知识,还有个学习路线和相应的开源项目.如果有人对开发android底层代码感兴趣的话,可以咨询刘畅。因为之前学习的时候没有人指路,在一些东西上浪费了很多时间,所以重在分享吧,不希望有人在一些简单但容易出错的地方浪费时间,如果谁想往那方面发展,他会提供很多资料以及心得. 链接:https://pan.baidu.com/s/1Dlsc6zlLa7-92VvyLd3PnA 密码:v1f7 2、视频链接 链接:https://pan.baidu.com/s/1Dlsc6zlLa7-92VvyLd3PnA 密码:v1f7 3、队员组成      、 4、队员风采 5、项目感言 杨有存: 这是我第一次与多位同学一起合作完成团队项目,对我来说,这不仅仅是一次挑战,也更是一次完整的项目开发过程的实践与体验的机会。虽然说,我在团队中做的也不是很出色,距离更加优秀的自己依然还存在着很大的差距,但是,在这其中,我依然还是学到了不少的东西,至少,我懂得了Android studio的使用,也知道了一个软件产品从需求分析到设计实现,最后完成测试与发布的过程。当然了,在这其中,也离不开老师、组长以及队友的指导与帮助,在此