2017-06-08 Mystery0 M
service 概述 后台运行,不可见,没有界面。(在activity中完成的事物,在服务中也可以完成) 优先级别高于activity 应用场景:eg: 1. 后台播放音乐 2. 后台下载应用 3. 记录GPS位置 监听某一特定的动作 4. 处理数据,处理当前不一定及时需要展现给用户的数据 5. 进入应用时加载本地资源(数据库等) 在后台操作提高交互性 6. 全家桶唤醒 7. …… 全家桶 生命周期 创建服务 要创建服务,您必须创建 Service 的子类(或使用它的一个现有子类)。在实现中,您需要重写一些回调方法,以处理服务生命周期的某些关键方面并提供一种机制将组件绑定到服务(如适用)。 应重写的最重要的回 继续阅读 »
2016-10-28 ruki
协程现在已经不是个新东西了,很多语言都提供了原生支持,也有很多开源的库也提供了协程支持。 最近为了要给tbox增加协程,特地研究了下各大开源协程库的实现,例如:libtask, libmill, boost, libco, libgo等等。 他们都属于stackfull协程,每个协程有完整的私有堆栈,里面的核心就是上下文切换(context),而stackless的协程,比较出名的有protothreads,这个比较另类,有兴趣的同学可以去看下源码,这里就不多说了。 那么现有协程库,是怎么去实现context切换的呢,目前主要有以下几种方式: 使用ucontext系列接口,例如:libtask 使用setjmp/longjm 继续阅读 »
2016-11-13 ruki
在分析了各大开源协程库实现后,最终选择参考boost.context的汇编实现,来写tbox的切换内核。 在这过程中,我对boost各个架构平台下的context切换,都进行了分析和测试。 在macosx i386和mips平台上实现协程切换时,发现boost那套汇编实现是有问题的,如果放到tbox切换demo上运行,会直接挂掉。 在分析这两个架构上,boost.context切换实现问题,这边先贴下tbox上的context切换demo,方便之后的讲解: 继续阅读 »
2013-11-05 veryyoung
I have a class that needs to obtain a reference to it's application's AssetManager. This class does not extend any sort of android UI class, so it doesn't have a getContext() method, or anything similar. Is there some sort of static Context.getCurrentApplicationContext() type of method? To clarify: my class is inte 继续阅读 »
2014-03-22 码农明明桑
Android中提供一种简单的Toast消息提示框机制,可以在用户点击了某些按钮后,提示用户一些信息,提示的信息不能被用户点击,Toast的提示信息根据用户设置的显示时间后自动消失。Toast的提示信息可以在调试程序的时候方便的显示某些想显示的东西,或者给用户提供友好的界面显示效果。 有两种方式去创建并且显示Toast: more Toast.makeText(Context context, int resId, int duration) Toast.makeText(Context context, CharSequence text, int duration) Context为上下文, 继续阅读 »
2015-08-30 Jason Liao
Floats, absolutely positioned elements, block containers (such as inline-blocks, table-cells, and table-captions) that are not block boxes, and block boxes with 'overflow' other than 'visible' (except when that value has been propagated to the viewport) establish new block formatting contexts for their contents. 继续阅读 »
2016-10-30 ruki
新特性 支持make进行直接编译(会去自动下载xmake进行构建) 在平台库中,添加切换context上下文接口(参考boost.context实现原理进行重写,并对部分架构进行优化) 新增跨平台协程模块(支持i386, x86_64, arm, arm64),提供更加易用的高性能并发编程模式 新增基于协程的各种服务器开发实例(包括:简单轻量的http服务器,爬虫。。) 新增poller轮询器接口,实现对epoll, poll, kqueue, select的封装,逐步取代老的aiop接口 新增mbedtls ssl库接口支持,目前已支持:openssl, polarssl, mbedtls tbox所有stream, socke 继续阅读 »
2014-05-28 W.Y.
本文译自 Dmitry A. Soshnikov 的 ECMA-262-3 in detail. Chapter 1. Execution Contexts. 参阅了已有的中文翻译,以此来加深对 ECMAScript 的理解。 概要 本文将介绍 ECMAScript 的执行上下文以及与之相关的可执行代码的类型。 定义 每当控制器到达 ECMAScript 的可执行代码时,控制器就进入了一个执行上下文。 执行上下文(简称 - EC)是 ECMA-262 中的一个抽象概念,用于区别不同类型的可执行代码。 规范中并没有从技术角度来定义执行上下文的具体结构和类型,这是实现标准 ECMAScript 引擎所需要考虑的问题。 一 继续阅读 »
2016-10-28 ruki
Introduction Benchbox is a benchmark testing utilities based on xmake and tbox. Build Please install xmake first: xmake bash $ xmake The Coroutine Switch Reports (2 Coroutines) Run bash $ xmake coroutine -n switch Macosx (x86_64) tbox: 10000000 switches in 205 ms, 48780487 switches per sec 继续阅读 »
2015-12-12 AllanChan
本文摘自 -- https://www.raywenderlich.com/3664/opengl-tutorial-for-ios-opengl-es-2-0 渲染的顺序 Setup Layer Setup Context Setup RenderBuffer Setup FrameBuffer Render 继续阅读 »